一、数据类型
-
基本数据类型:
-
数值类型:
-
整数类型:byte(1个字节:-128~127)、short(2个字节:-32768~32767)、int(4个字节)、long(8个字节);
-
浮点类型:float(4个字节)、double(8个字节);
-
字符类型:char(2个字节)
-
-
Boolean类型:1位,true/false
-
-
引用数据类型:类、接口、数组
类型转换的优先级
低到高:byte,short,char—>int—>long—>float—>double
进制
二进制0b 八进制0 十进制 十六机制 0x
银行项目:
使用精准数据:BigDecimal数学工具类;浮点数有限且精度存在问题;
二、变量、常量
变量:
-
Java是强类型语言,每个变量都必须声明使用。
变量包含:变量名、变量类型(基本类型/引用类型)、作用域;每个声明都必须以";"结尾。
-
作用域:
-
类变量:static静态,就是类变量的标识;可以修饰成员变量(方法外部,类内部)和成员方法。
在修饰成员变量、方法时,会被这个类的所有对象共享。
用"类名. “。
只要在该类中可以直接使用,不需要new对象,随着类的加载而存在。
-
实例变量:成员(实例)变量,随着对象的存在而存在,只可以被对象调用相比类变量没有static。
-
局部变量:只能在局部使用,使用之前必须声明和初始化值。
在方法中。
class A{ static int a = 1; //静态(类)变量,随着类的加载而存在,可以被对象和类名调用 int b = 3; //成员(实例)变量,随着对象的存在而存在,只可以被对象调用 class B{ int a = 2; //局部变量:使用之前必须声明和初始化值 sout(a); //2 sout(this.a); //1 A aa = new A(); aa.b; //成员(实例)变量 } }
-
规范:所有方法名、变量名都是利用”首字母小写和驼峰原则“
-
常量:
-
定义:不可以改变的,使用final修饰。
通常变量名为大写。
以下划线隔开。
USER_NAME
三、运算符
-
Math(数学类):其中有幂运算(pow)、绝对值(abs)等数学运算。
-
&&(与):两个为真才为true;与的前面如果为false则后面(短路)的不会执行;
-
||(或):一个为真就为true;
-
/** * 位运算(二进制): * a=1100 0100 * b=0101 0110 *-------------------------------------------- * a&b=0101 0110 * a|b=1101 0110 * a^b=1001 0010(异或:如果两个相同则为0,不同则为1) * ~a=0011 1011 * -------------------------------------------- * * 面试题:2*8二进制怎么计算? * <<:左移== *2 * >>:右移== /2 * 2*8=2*2*2*2,就等于二进制往前移3位。
* 2:10;4:100;8:1000;16:10000; */
-
//字符串连接符: int a = 10; int b = 20; sout(""+a+b);//结果为1020,字符串在前则输出字符串 sout(a+b+"");//结果为30,整型在前则输出整型
-
三元运算符:x ? y : z;如果x为true则输出z,否则输出y;
四、Scanner
-
next和nextLine的区别:
-
next:不能接收带有空白符的字符串,以空白为结束符;
-
nextLine:以enter(换行)为结束符;
-
五、可变参数
public void test(int j,int ... i){} //可变参数必须放在最后面,可以多个赋值。
源码中可见
用于自己知识的总结,如果有错误欢迎指出。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)