Java是强类型语言,所有变量必须先定义后才能使用,强类型语言比弱类型语言更安全
变量:数据类型 变量名=值;(不要忘记分号,可以用逗号来隔开同类型变量)
-
基本类型primitive type
-
boolean布尔值类型:占一位其值只有true和false两个
-
数值类型
-
整数类型(byte占一个字节范围:-128-127,short占两个字节范围:-32768-32767,int占4个字节范围:-2147483648-2147483647,long占8个字节范围:-9223372036854775808-9223372036854775807,int常用)
-
浮点(小数)类型(float占4个字节,double占8个字节,float类型要在数字后面加F,double常用)
-
字符类型char占2个字节(char只能写单个字符,String可以定义字符串)
-
-
-
引用数据类型reference type
-
类
-
接口
-
数组
-
字节
位bit是计算机内部储存的最小单位,是一个8位二进制数,字节byte是计算中数据处理的基本单位,用大写B表示,1B=8bit,1KB=1024B,字符是指计算机中使用的字母、数字、字和符号
拓展
整数拓展:
进制 | 二进制 | 十进制 | 八进制 | 十六进制 |
---|---|---|---|---|
0b | 0 | 0x | ||
例如int i = 10;
int i2 =010;//八进制的10,输出为8,转换方法:把每一位的数字乘以8的N次方(N为从右往左数的位数-1)再求和
转换过程:0*8^2+1 * 8^1+0*8^0=8
int i3 =0x10;//16进制的10,输出为16,16进制计数9,A,B,C……到F,然后是10
浮点数拓展:
浮点数是有限的、离散的,当结果无法精确表示时,它会舍入误差,成为一个约数,最好不要用浮点数进行比较,最好不要用浮点数进行比较,最好不要用浮点数进行比较,所以银行算账是不能用浮点数计算的,用BigDecimal数学工具类
字符拓展:
char c1 = 'a';
system.out.println((int)c1);//强制转换成数字,因为字符的本质是数字,所以最后会输出97,编码中有一个Unicode的编码,占2个字节,早些年最多可以表示65536个字符,Excel最长只有2的16次方,就是65536,Unicode表里:97 = a ,65 = A
转义字符 \t制表符 \n换行……
system.out.println("Hello\tWorld")输出结果中间会出现tab一样的空
布尔值拓展:
boolea flag = true;
if (flag==true){} (这行代码等于if (flag){} ,因为Java有less is more的规则,能简单表示就会简单表示,这是老手和新手写代码的区别)
String sa = new String(original"hello world");
String sb = new String(original"hello world");
System.out.printlin(sa==sb)
输出为false
String sc = "hello world";
String sd ="hello world";
System.out.printlin(sc==sd)
输出为true