JavaSe基础

Java基础

注释

多行注释: /*注释内容 */

单行注释 :// 注释内容

标识符的规范

  1. 标识符的开头都应该是大小写字母,美元符$,或者下划线_开始的
  2. 标识符大小写敏感
  3. 标识符不能和关键词相同

数据类型

Java是一个强类型语言:要求变量的使用严格符合规定,所有的变量都必须先定义后才能使用

  • 基本类型:
    1. 整数:byte 占一个字节,short占2个字节,int占四个字节,long占八个字节。
    2. 浮点数:float占四个字节 double占八个字节
    3. 字符:char占两个字街
    4. boolean占一位 只有true和false两个值
  • 引用类型: 类,接口,数组
      byte num0=10;
        int num1=1000; // 最常用
        short num2=10;
        long num3=10000L;// long类型后面要加L
//  小数:
        float num4=50.1F;
        double num5=3.141548414742174;
        char name='a';
//String是一个类不是关键字
        String num6="dajduiahuda";
// 布尔值只有是非
        boolean num7=false;

数据类型的常见问题

整数扩展: 进制问题 :

  • 二进制 用 0b
  • 十进制常规输入就行
  • 八进制用0开头
  • 十六进制用0x开头
//  整数扩展: 进制  二进制0b 十进制 八进制0 十六进制0x
        int i1 =10;
        int i2 =0b10;
        int i3 = 010;
        int i4 = 0x10;
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);

输出结果如下:

image

浮点数的扩展

 浮点数扩展: 银行业务怎么表示?
//        BigDecimal 数学工具类
//        float 有限的 离散的 舍入误差 接近但不等于
//        最好完成使用浮点数进行比较
float f=0.1f;
        double d=1.0/1;
        System.out.println(f==d); //false
        System.out.println(f);
        System.out.println(d);
        float d1=215181214515f;
        float d2=d1+1;
        System.out.println(d1==d2);//true

输出结果如下所示:

image

字符扩展

所有的字符本质都是数字,主要使用的Unicode表来转换

char c1='a';
        char c2='中';
        char c3='6';
        char c4='\u0061';
        System.out.println(c1);
        System.out.println((int)c1);
        System.out.println(c2);
        System.out.println((int)c2);
        System.out.println(c3);
        System.out.println(c4);

输出如下所示
image

转义字符

\t 是制表符

\n 是换行

等等

类型转换

Java是强类型的语言,所以涉及到不同类型的数据计算时,要先进行数据转换

 // 强制转化:高到低 (类型)变量名
//        自动转换;低到高
        int i =1;
        byte b= (byte)i;
        int i2= 128;
        byte c=(byte)i2;
		double d=10.6;
        int a= (int)d;	
     	char c1='a';
        int i3=c1;
        System.out.println(i);
        System.out.println(b);
        System.out.println(i2);
        System.out.println(c);
/*
注意:
不能转化boole
不能将对象转化为不相干类型
转换的时候需要注意精度问题和内存溢出问题
*/
        System.out.println(d);
        System.out.println(a);
        System.out.println(c1);
        System.out.println(i3);

输出结果:

image

变量

变量就是可以变化的量,java是一种强类型的语言,每个变量都必须声明其类型,变量是程序中最基本的存储单位,其要素为:变量名,变量类型,和作用域;

注意:

  1. 每个变量都有类型,类型可以是基本类型也可以是引用类型

  2. 变量名必须是合法的标识符

  3. 变量声明是一条完整的语句 ,因此每个声明都必须以分号结束

public class Demo03 {
        static int i=1; // 类变量
        String s="实例变量"; //实例变量 从属于对象的 使用时需要先初始化对象再调用
        public  void method(){
            int i =3; // 局部变量 必须声明和初始化值
            System.out.println(i);
        }
}

实例变量如果不初始化初始值为0或者0.0

布尔值初始值为false

常量

常量:初始化后不能再改变值!不会变化的值;

常量名一般使用大写字符

// 修饰符 不存在先后顺序
static final double PI=3.14;
public final int LONG =1;
private final int WITH=3;

变量的命名原则

所有变量,方法,类名要见名知意

类成员变量:首字母小写和驼峰原则:monthSalary 除第一个单词以外,后面的单词首字母大写

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线:MAX_LONG

类名:首字母大写和驼峰原则:People,Studennt

方法名:首字母小写和驼峰原则: test testDemo

运算

运算符

Java语言支持如下的运算符:

  • 算数运算符:+ ,-,*,/,%,++,--
  • 赋值运算符:=
  • 关系运算符:>,<.>=,<=,!=,instanceof
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<,>>>
  • 条件运算符: ?:
  • 扩展赋值运算符:+=,-+,/=

二元运算

//二元运算符
int a=10;
int b=20;
int c=30;
int d=40;
int e=50;
System.out.println(a+b);
System.out.println(a*b);
System.out.println(a/(double)b);
System.out.println(a%b);

结果如下所示:

image

关系运算

//关系运算符的返回结果:正确或者错误 是一个布尔值
int a=10;
int b=20;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);

结果如下所示:

image

自增自减

int a=1;
int b=a++; //先将a赋值给b 所以b=1 然后a自增为2  a=2 b=1
int c=++a; //a先自增为3然后将a的值赋值给c a=3 b=1 c=3
int d=c--;// 先将c的值赋值给d所以d=3 然后c自减  a=3 b=1 c=2 d=3
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

结果如下所示

image

很多运算我们会使用工具类来进行运算;

逻辑运算符

//&&与 ||或 !非
boolean a=true;
boolean b=false;
System.out.println(a&&b);   //两个变量全为真则结果为真
System.out.println(a||b);   // 两个变量有一个为真则结果为真
System.out.println(a&&!b);
// 短路运算:例如 a为假 当判断a&&(b-a)时 后面b-a没有运算  直接判断为假
int a1=1;
int b1=2;
System.out.println(a1<0&&b1++>0);
System.out.println(b1);
System.out.println(a1>0&&b1++>0);
System.out.println(b1);

结果如下所示:

image

位运算

& | ^

A = 0001 1010

B = 0101 0100

A&B=0001 0000 与运算的意思为 当对应的数都为1时则结果为1

A|B=01011110 或运算表示当对应的数有一个为一时结果为1

A^B=01011110 当对应的数一样时为0 其余为1

如何计算2*8最快: 因为2化为二进制数为0000 0010 8化为二进制数为 0000 1000 所以

2*8可以看做是2<<3 即 2向左移动三位

三元运算符

int a=10;
int b=20;
System.out.println(a+=b);  // a=a+b
System.out.println(a-=b);  //a=a-b
System.out.println(""+a+b);
System.out.println(a+b+"");
// x?y:z  如果x为true 则输出y  如果x为false 则输出Z
int score =60;
String s=score>=60?"及格":"不及格";
System.out.println(s);

结果如下所示

image

posted @ 2022-03-15 16:59  小邱ooo  阅读(41)  评论(0)    收藏  举报