Java基础语法

Java基础语法

在IDEA中,为了方便项目管理,在建项目时,一般不直接选择Java,而是选择Empty Project。

会弹出Project Structrue 项目结构 可直接关掉

选择新建一个模块

选择Java,一路next

在File中也可找到项目结构

Project SDK与Project language level选项要保持一致

注释

平时写代码一定要注意规范

单行注释 //

多行注释 /* */

文档注释 /**

​ * 与JavaDoc联合使用,使用时/**+回车

​ */

设置注释颜色

File---->Settings

点击选择注释类型进行设置

查找相关设置思路:

  1. 查找Editor 编辑
  2. 选择相关模板,在模板中进行下一步选择

趣味注释:网上搜索有趣的代码注释

标识符和关键字

数据类型

强类型语言安全性高

提高安全性,弊端是速度会变慢

除了基本数据类型之外的所有东西都叫引用数据类型

String不是关键词,是一个类

ctrl+左键可用于查看类,如Byte等

字节

32位的操作系统只能用32位的cpu,64位的操作系统既可以装64位的,也可以装32位的

数据类型扩展及面试题

public class Demo3{
    public static void main(String[] args){
        //整数拓展     二进制0b      十进制     八进制0     十六进制0x
        int i1 = 10;
        int i2 = 010;   //八进制
        int i3 = 0x10;  //十六进制   0~9 A~F
        System.out.println(i1);     //10
        System.out.println(i2);     //8
        System.out.println(i3);     //16
    
        
        //************************************************
        //************************************************
        //  浮点数拓展     银行业务怎么表示?  钱
        //BigDecimal   数学工具类
        //float    有限  离散   舍入误差  大约  接近但不等于
        //double
		//!!!最好完全避免使用浮点数进行比较!!!
        float f = 0.1f;       //0.1
        double d = 1.0/10;    //0.1
        System.out.println(f==d);    //false
        System.out.println(f);       //0.1
        System.out.println(d);       //0.1
        
        
        float d1=2323232323232f;
        float d2=d1+1;
        System.out.println(d1==d2);   //true
        
        //************************************************
        //************************************************
        //字符拓展
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);         //a
        System.out.println((int)c1);    //强制转换   97
        System.out.println(c2);         //中
        System.out.println((int)c2);    //20013
        //!!!所有的字符本质还是数字!!!

        //char类型会涉及到编码问题  Unicode编码  占2字节  0-65536 最多可表示65536个字符,现在不仅仅是			65536个字符了
        //早期Excel表格最长只有2^16=65536

        // U0000 --  UFFFF
        char c3 = '\u0061';
        System.out.println(c3);         //a
        
        
        //转义字符
        //  \t
        //  \n
        
        //************************************************
        //************************************************
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa==sb);    //false

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc==sd);     //true
        // 对象  从内存分析
            
    }
}

类型转换

强制转换 (类型)变量名 高--->低

自动转换 低--->高

注意点

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 高容量----->低容量 强制转换
  4. 转换的时候可能存在内存溢出或精度问题!
public class Demo4{
    public static void main(String[] args){
        //操作比较大的数时,注意溢出问题
        //JDK7新特性,数字之间可以用下划线分割
        int i = 10_0000_0000;
        System.out.println(i);  //1000000000
    }
}

变量、常量、作用域

变量代表内存中的一块空间,这个空间位置是确定的,但这个空间中所存储的值是不确定的。

类变量需要加关键字static

局部变量:在方法里,必须声明和初始化

实例变量:在类里方法外,从属于对象,如果不自行初始化, 会变成这个类型的默认值

所有的数值类型默认值为0 0.0

布尔值默认是false

除了基本类型,其他类型的默认值都为null

public class Demo5{
    public static void main(String[] args){
        String name;
        int age;
        
        Demo5 demo5 = new Demo5();
        System.out.println(demo5.age);
        System.out.println(demo5.name);
    }
}

类变量:staitc 从属于类

变量类型前的修饰符不存在先后顺序

运算符

在IDEA中,ctrl +D 复制当前行到下一行

public class Demo6{
    public static void main(String[] args){
        long a = 1231231223123L;
        int b = 123;
        short c = 10;
        byte d = 8;
        System.out.println(a+b+c+d);  //long
        System.out.println(b+c+d);    //int
        System.out.println(c+d);      //int
        //没有long,无论是否有int型,结果都为int型
    }
}

注意逻辑运算中的短路运算

位运算  效率极高
2*8=16  2*2*2*2=16  如何计算最快?
<<   *2
>>   /2
System.out.println(2<<3);     //16

//字符串连接符  +  ,String
int a = 10;
int b = 20;
System.out.println(""+a+b);   //String,1020
System.out.println(a+b+"");   //String,30


包机制

包的本质就是文件夹

www.baidu.com com.baidu.www

IEDA中包按层级显示

未设置之前为下图所示

注意点:在导入包的时候,imoprt要放在package的后面,否则就会报错。

​ *代表通配符,会将包中的所有东西导入进来

<<阿里巴巴开发手册>>

JavaDoc生成文档

javadoc:可以将注释信息生成帮助文档

在Dos下生成JavaDoc文档

在IDEA中生成JavaDoc文档

转载文章:小明快点跑

posted @ 2020-08-10 15:26  。。。。xg  阅读(106)  评论(0编辑  收藏  举报