Java根底

1 数据类型

1.标识符

1.有字母.数字,下划线,&组成
2.不能以数字结尾
3.做到见名知意,严格辨别大小写

2.变量

概述:程序中想要记录一些始终在变的量,就须要定义变量.
变量的三要素:变量类型 变量名=变量值

3.数据类型的品种

根本类型: 8种
byte、short、int、long、float、double、char、boolean
援用类型:只有不是8种的根本类型,其余的都是援用类型。

4 练习1:根本类型的取值范畴

  • char类型--字符型--面试题:char类型能够存一个中文汉字吗?
package cy.pj.basic;public class Test_Scope { public static void main(String[] args) { char c1 = '0' ; char c2 = 'a' ; char c3 = '中' ; char c4 = '?' ; char c5 = 128 ; System.out.println(c1); System.out.println(c2); System.out.println(c3); System.out.println(c4); System.out.println(c5); }}

char类型,能够间接存储一个数字自身,然而实质上,c5还是一个char类型。底层会拿着你存入的数字,去ascii码表里查问对应的字符,而后应用字符自身。

4.2 变量替换
//测试 变量值的替换public class Test4_Exchange {    public static void main(String[] args) {        //1,定义变量a和b        int a = new Scanner(System.in).nextInt() ;        int b = new Scanner(System.in).nextInt() ;        System.out.println("替换前:a="+a+",b="+b);        //2,开始替换        int c = a ;//创立c保留a的值        a = b ;//a没值了,找b要        b = c ;//b没值了,找c要        System.out.println("替换后:a="+a+",b="+b);    }
5 根本类型的字面值

1.整数字面值是int类型
2.浮点数的字面值是double类型
3.byte,short,char三种比int知道整数能够用范畴内的值间接赋值
4.char类型的取值范畴是0~65535,不能超出,超出就报错
5.byte的取值范畴是-128~127,不能超出,超出就报错
6.short的取值范畴是-32768~32767,不能超出,超出就报错
7.5.5默认是double类型,然而加了后缀f(F)就会变成float类型
8.10000000000默认是int类型,然而曾经超出了int范畴,间接赋值会报错,加后缀L(l),把右侧的int类型的值转成long
进制前缀
二进制的数据0b开始 -- 0b0011
八进制的数据0开始 -- 0567
十六进制的数据0x开始 -- 0x0987C char类型是\u开始 -- u0000

2 根本类型的类型转换

1.小转大--隐式转化

把右侧的小类型byte类型的a,转成左侧的大类型long类型的b--能够间接转

2.大转小--显示转化

右侧的大类型double类型的m,转成左侧的下类型int类型的n--不能够间接转
解决方案是:强转/显示转化--加代码--(小类型)

3 运算规定

1.计算结果的数据类型,与最大类型统一
2.byte,short,char三种比int小的整数,运算时会先主动转换成int
3.右侧曾经变成大类型int了,给左侧的小类型,不能够间接赋值---须要强转
4.java 对于小数运算时会产生不准确的景象
5.小数运算时的非凡值--Infinity NaN(not a number)

3.1 运算符

1.算术运算符
+ - * / %(取余数) ++  --
2.比拟逻辑符:后果是boolean值
==  !=
3.逻辑运算符:后果是boolean值
+ !(取反,非真即假,非假即真)&(逻辑与)--示意并且关系1 & 2,想得到最终的后果是true,要求是:1是true并且2是true&&(双与/短路与)--示意并且关系(高效) 1 && 2 ,当1为false时,后果早都注定了是false,2的代码就会被短路不必执行了,提高效率 |(逻辑与)--示意或者关系 1 | 2 ,想得到最终的后果是true,要求是:1是true或者2是true ||(双或/短路或) -- 示意或者关系(高效)  1 || 2 ,当1为true时,后果早都注定了是true,2的代码就会被短路不必执行了,提高效率
4.三元运算符

a ? b : c --运算后果可能是b,也可能是c,具体是谁由a决定
当a判断成立时,后果就是b
当a判断不成立时,后果就是c

5.赋值运算符
+=  -= *= /= 复合赋值运算符
6.自增自减
a++;//符号在后,先应用再加1++a;//符号在前,先加1再应用a--;//符号在后,先应用再减1--a;//符号在前,先减1再应用