基本数据类型

4类8种

1.整型

byte: 字节型 -128 ~ 127 1个字节=8位
short: 短整型 -2^15 ~ 2^15-1 2个字节=16位 2万多
int: 整型 -2^31 ~ 2^31-1 4个字节=32位 4亿多
long: 长整型 -2^63 ~ 2^63-1 8个字节=64位
long var = 20000000L; //需要在末尾有一个L或者l

2.浮点型

float: 单精度浮点型 4个字节=32位 小数 比long大
float var = 10.2F; //需要在末尾有一个F或者f
double: 双精度浮点型 8个字节=64位 小数 同上

3.字符型

char: 字符型 2个字节=16位
char var = 'a'; //字符型需要加单引号

4.布尔型

boolean: true,false 1个字节=8位

变量

定义变量,为了后期维护,重复利用
减少使用自变量
标识符,变量名的命名规则,小驼峰 checkDay stuInfo
变量值通过=赋值,把有右边的值通过=赋值给左面的变量
定义变量要明确数据类型
Java种的除法/,如果是两个整数相除,得到的一定是整数
整数和整数做运算,得到的一定是整数
Java种的 '+ - * /',数据类型严格

精度

整型:4种整数类型,精度是和位数挂钩,位数越大,精度越高
浮点型:double的精度比float要高
浮点型 > 整型
低精度和高精度的做计算,得到的一定是高精度数据类型的结果

为什么int类型的数据给不了byte
大给小,有一种可能是 小的装不下,所以大不能给小

基本数据类型的转换

1.自动类型转换(自动类型提升)低精度->高精度
2.强制类型转换 高精度->低精度 如果平白无故的想把低精度转换成高精度,也需要强制转换

运算符

赋值运算符

+= -= *= /= %=
从计算结果来看,a+=1 -> a=a+1
赋值运算符可以进行数据类型的转换,包括a++也可以

比较运算符

大于> 小于< 大于等于>= 小于等于<= 等于== 不等于!=
没有===

逻辑运算符

与或非 异或
短路与&& 单与&

双与:当发现条件中,只要有一个false,则停止判断。(效率高)
单与:无论有多少个false,所有的条件都要判断。
短路或|| 单或|:
同双与和单与
与:只有当所有条件都为true,整体结果为true。如果有一个false,整体结果为false。
或:只有当所有条件都为false,整体结果为false。如果有一个条件为true,整体结果都为true。
非:取反。
异或:有假有真即为真,全真全假即为假。

位运算符

int a = 10;
// 10的二进制 00001010
int b = 20;
// 20的二进制 00010100
System.out.println(a & b);
System.out.println(a | b);
System.out.println(a ^ b);
int x = 2;
// 左移2位
System.out.println(x << 2); // 结果 12
// 右移3位
System.out.println(x >> 3); // 结果 0
// >>> 无符号右移
// 将运算符左边的对象向右移动到指定的位数
System.out.println(x >>> 1); // 结果 1

三目运算符

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    // 条件表达式 ? 表达式1 : 表达式2
    // Java 里的三元运算符,要求2个表达式的运行结果
    // 的数据类型是相同的 或是可以自动转换成相同数据类型的
    System.out.println(a > b ? a : b);
}

char 的特殊性

public static void main(String[] args) {
    char a = 'a';
    int i=a;
    // 映射表 ASCII码
    // 字符型 abcdefg 每一个字符在计算机都是以ASCII码的形式保存的
    // char 类型是16位, short是一样的,可以自动转换成int,long,float,double
    // 当char自动转换成数值类型,会对应着ASCII码去转换
    // 把整数类型转换成char类型,会对应着ASCII码去转换
    // 由于char类型右这样的特殊性,开发中尽量不使用char
    System.out.println(a);
    System.out.println(i);
    // +号右连接符的功能
    System.out.println("你"+"好");
}

一些关于变量定义的代码

public static void main(String[] args) {
    String str1 = "善学如春起之苗";
    String str2 = "不见其增,日有所长";
    String str3 = "不见其损,年有所亏";
    String str4 = "加油吧!少年";
    System.out.println(str1);
    System.out.println(str2);
    System.out.println(str3);
    System.out.println(str4);
    char char1 = 'J';
    char char2 = 'A';
    char char3 = 'V';
    char char4 = 'A';
    char char5 = '!';
    System.out.println(char1);
    System.out.println(char2);
    System.out.println(char3);
    System.out.println(char4);
    System.out.println(char5);
}

public static void main(String[] args) {
    int num1 = -2147483648;
    int num2 = -100;
    int num3 = 0;
    int num4 =100;
    int num5= 2147483647;
    double pointNum1 = -100.0;
    double pointNum2= -10.0;
    double pointNum3 = 0.0;
    double pointNum4 = 10.9;
    double pointNum5 =100.9;
    System.out.println(num1);
    System.out.println(num2);
    System.out.println(num3);
    System.out.println(num4);
    System.out.println(num5);
    System.out.println(pointNum1);
    System.out.println(pointNum2);
    System.out.println(pointNum3);
    System.out.println(pointNum4);
    System.out.println(pointNum5);
}

public static void main(String[] args) {
    boolean testBool = true;
    System.out.println(testBool);
    testBool = false;
    System.out.println(testBool);
}

public static void main(String[] args) {
    byte byteMin = -128;
    byte byteMax = 127;
    short shortMin = -32768;
    short shortMax = 32767;
    int intMin = -2147483648;
    int intMax = 2147483647;
    long longMin = -2147483649L;
    long longMax = 2147483648L;
    System.out.println(byteMin);
    System.out.println(byteMax);
    System.out.println(shortMin);
    System.out.println(shortMax);
    System.out.println(intMin);
    System.out.println(intMax);
    System.out.println(longMin);
    System.out.println(longMax);
}

public static void main(String[] args) {
    float varFloat1 = -3.14F;
    float varFloat2 = 3.14F;
    double varDouble1 = -3.4;
    double varDouble2 = 3.4;
    System.out.println(varFloat1);
    System.out.println(varFloat2);
    System.out.println(varDouble1);
    System.out.println(varDouble2);
}

public static void main(String[] args) {
    char varChar1 = '9';
    char varChar2 = 'J';
    char varChar3 = 'a';
    char varChar4 = ' ';
    char varChar5 = '@';
    boolean varBool1 = true;
    boolean varBool2 = false;
    System.out.println(varChar1);
    System.out.println(varChar2);
    System.out.println(varChar3);
    System.out.println(varChar4);
    System.out.println(varChar5);
    System.out.println(varBool1);
    System.out.println(varBool2);
}

public static void main(String[] args) {
    int a=10;
    int b=20;
    System.out.println("互换前:");
    System.out.println(a);
    System.out.println(b);
    int temp;
    temp =a;
    a=b;
    b=temp;
    System.out.println("互换后:");
    System.out.println(a);
    System.out.println(b);
}

public static void main(String[] args) {
    System.out.println("byte的大小:"+Byte.SIZE+" byte的数据范围:"
            +Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);

    System.out.println("short的大小:"+Short.SIZE+" short的数据范围:"
            +Short.MIN_VALUE+"~"+Short.MAX_VALUE);

    System.out.println("int的大小:"+Integer.SIZE+" int的数据范围:"+
            Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);

    System.out.println("long的大小:"+Long.SIZE+" long的数据范围:"+
            Long.MIN_VALUE+"~"+Long.MAX_VALUE);

    System.out.println("float的大小:"+Float.SIZE+" float的数据范围:"+
            Float.MIN_VALUE+"~"+Float.MAX_VALUE);

    System.out.println("double的大小:"+Double.SIZE+" double的数据范围:"+
            Double.MIN_VALUE+"~"+Double.MAX_VALUE);

    System.out.println("char的大小:"+Character.SIZE+" char的数据范围:"+
            Character.MIN_VALUE+"~"+Character.MAX_VALUE);

    System.out.println("boolean的大小:"+Byte.SIZE+"boolean的数据范围:"+
            Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);

    //String不是基本类型
    String str1 = "";//生成一个String类型的引用,而且分配内存空间来存放"";
    //static String str2; //只生成一个string类型的引用;不分配内存空间,默认为null
    String str2 = new String(); //只生成一个string类型的引用;不分配内存空间,默认为null
    System.out.println("String字符串的默认值:"+str1+"str的默认长度:"+ str1.length());
    System.out.println("String字符串的默认值:"+str2);
}
最后修改:2023 年 01 月 09 日
如果觉得我的文章对你有用,请随意赞赏