文章目录
1.Java基本类型
java一次编译到处运行
Java的8种基本内置类型(简单类型)
引用类型:string 数组,类,接口;默认值为 null.
定义局部变量的时候必须初始化
1.1整形变量
Int 变量名= 初始值;
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
注意事项:int 表示的类型是一个整形
创建变量的时候初始化
加分号
占4个字节,和操作系统没有关系,具有跨平台性
1.2长整形变量
Long 变量名=初始值;
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
注意事项:long num=10 L;写作10l也可以
1.3双精度浮点类型
Double 变量名=初始值 ;
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
int a=1;
int b=2;
System.out.println(a/b);//0
Int 除以int的值还是int;
double a=1.1;
System.out.println(a*a);// 1.2100000000000002
注意事项:浮点数的内存布局和整数的差别很大,遵循IEEE754标准
1.4单精度浮点型
Float 变量名=初始值;
float a=1.1F;
System.out.println(a);//大小写f都可以
注意事项:占4个字节,精度范围小,推荐使用double
1.5字符类型变量
Char 变量名=初始值
char a=‘q’;
System.out.println(a);//q
char a=‘马’;
System.out.println(a);//马
java中使用 单引号+单个字母 表示字符字面值
计算机中字符本质是一个整数,Java中使用Unicode表示字符,自符的种类很多,包括中文
Windows JDK javac默认GBK
==Javac -encoding utf-8 == Test.java
文本文档默认utf-8
1.6字节类型变量
byte 变量名=初始值
注意事项:byte表示的是字节,byte和char互不相同
1.7短整型变量
Short 变量名=初始值
表示的范围较小,不推荐使用
1.8布尔类型变量
boolean 变量名=初始值;//初始值为true真或者false假
注意事项:Boolean有些JVM的实现是占1个字节,有些是占1个比特位,没有明确规定。
1.9字符串类型的变量(重点)
String 变量名=” “;
转义字符
\n 换行
\t 水平制表
\’ 单引号
\” 双引号
\ 反斜杠
当一个+表达式存在字符串的时候,都是执行字符串拼接行为;
还可用字符串和整数进行拼接
String a=“na”;
int b=8;
String c=a+b;
System.out.println©;//na8
String str=”java”;
System.out.println(String.charAt(0));//a
System.out.println(String.index.Of(‘v’));//2
1.10变量的命名规则:
变量只能包括数字,字母,下划线;不能以数字开头;大小写有区别;采用小驼峰命名法
常量的分类:
1.字面值常量
2.final关键字修饰的常量,一旦被初始化值就不能被改变
final int a=10;
final int a; a=10;
1.11类型转化
小类型 大类型//隐式类型转化
大类型 小类型// 强制类型转换,可能会有精度损失
进行字面值常量赋值的时候,java会自动进行一些检查校验
Short和char复制必须进行强转
1.12类型提升
1.不同类型的数据混合运算,范围小会提升成大的
Short,byte比4个字节小的类型,会先提升成4个字节的,因为计算机的cpu同常是按照4个字节删除线格式 为单位从内存中读取数据
2.运算符
2.1算数运算符:
- % + - * /
注意事项:不仅对int求模,也能对double求模
- 增值运算符:+= -= *= = %=
- 自增/自减运算符:++(常使用 )- - --》/如果不取自增运算表达式的返回值,则前置自增和后置自增没有区别
2.2 关系运算符
:== != < > <= >= //关系运算表达式返回值都是boolean
2.3逻辑运算符:
(表达式)&&(表达式 || ! :操作数为boolean类型,返回值为boolean 类型
短路&&短路||
& | 操作数为boolean的时候也表示逻辑运算,不支持短路求值
2.4 位运算符:
& | ~ ^
当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑运算.
按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
int a = 0xf;
System.out.printf("%x\n", ~a)
2.5 移位运算:
<< >>
左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方
右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方
2.6条件运算符:表达式1? 表达式2 :表达式3
当表达式的值为true,值为表达式2;
表达式的值为false,值为表达式3