2020年12月4日-笔记
快捷操作
psvm
public static void main(String[] args) {
System.out.println("hello,world");
}
sout
System.out.println();
数据类型
强类型语言(要求变量使用严格符合规定,所有变量都必须先定义后使用)
- 数值类型
- boolean类型
- 引用类型(类,接口,数组)
八大基本类型
byte字节
char字符
short短整型
int整型
long长整型,需要加L
float浮点,需要加F
double双精度浮点
boolean布尔
整数拓展
二进制 0b 八进制 0 十进制 十六进制 0x
浮点数拓展
银行业务会使用BigDecimal数学工具类来进行,因为float类型长度有限,会有舍入误差,接近但不等于,最好完全避免浮点数的比较。
字符拓展
所有的字符本质还是数字,Unicode表。
代码
import java.math.BigDecimal;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello,world");
/*
psvm
public static void main(String[] args) {
System.out.println("hello,world");
}
sout
System.out.println();
强类型语言(要求变量使用严格符合规定,所有变量都必须先定义后使用)
基本类型
- 数值类型
- boolean类型
引用类型
- 类
- 接口
- 数组
*/
//---------------------------------------------------------------------------------------------------
//八大数据类型
byte num2 = 10;//字节
short num3 = 10;//短整型
int num1 = 10;//整型
long num4 = 10L;//长整型,long需要加L
float num5 = 1.1F;//float需要加F
double num6 = 3.14;
char name1 = '国';
String teacher = "gs";
boolean flag = true;
//---------------------------------------------------------------------------------------------------
//整数拓展 进制表示 二进制0b 八进制0 十进制 十六进制 0x
int i1 = 0b10;
int i2 = 010;
int i3 = 10;
int i4 = 0x10;
//---------------------------------------------------------------------------------------------------
//浮点数拓展 银行业务怎么表示
//BigDecimal 数学工具类
//float 有限 离散 舍入误差 大约 接近但不等于
//最好完全避免浮点数比较
float f1 = 0.1f;
double f2 = 1.0 / 10;
System.out.println(f1 == f2);
System.out.println(f1);
System.out.println(f2);
float f3 = 123123123f;
float f4 = f3 + 1;
System.out.println(f3 == f4);
System.out.println(f3);
System.out.println(f4);
//---------------------------------------------------------------------------------------------------
//字符拓展
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println(c2);
System.out.println((int) c1);//强制转换
System.out.println((int) c2);
//所有的字符本质还是数字 Unicode表 \u0061
//转义字符
//\n 换行
}
}
类型转换
不同类型先转换为统一类型在进行计算。
byte,short,char->int->long->float->double
强制转换
高->低
自动转换
低->高
注意
- 不能对布尔值转换
- 不能转换不相干类型
- 高容量转换低容量使用强制转换
- 转换时可能存在内存溢出或精度问题
代码
public class Demo01 {
public static void main(String[] args) {
//强制转换(类型)变量名 高->低
int i = 128;
byte b = (byte) i;
//内存溢出,byte最大127
System.out.println(i);
System.out.println(b);
//自动转换 低->高
int a = 128;
double c = a;
System.out.println((int) 1.1);
char d = 'a';//char使用单引号,string使用双引号
int e = d + 1;
System.out.println(d);
System.out.println((char) e);
/*
* 不能对布尔值转换
* 不能把对象转换为不相干类型
* 高容量转换低容量时使用强制转换
* 转换的时候可能存在内存溢出或者精度问题
* */
//操作比较大的数时,注意溢出问题
//jdk7新特性,数字之间可以下划线分隔
int money = 10_0000_0000;
int year = 20;
long total = (long) money * year;
System.out.println(total);
}
}
变量
可以变化的量,声明空间(标签),但不确定里面存放的东西。
type varName ='';
//数据类型 变量名=值;
注意事项
- 每个变量都有类型,可以是基本类型,也可以是引用类型
- 是一个合法的标识符
- 变量声明是一个完整短句,所以要以分号结尾
作用域
类变量
static关键词,不需要new实例化
实例变量
从属于对象,需要new实例化,如果不进行初始化,就是默认值。int:0 float:0.0
局部变量
从属于方法,只存在于方法中
常量
初始化后不能改变的值,不会变动的值。程序运行中不允许被改变,final关键字,常量名一般使用大写。
命名规则
变量名、方法名首字母小写和驼峰原则,类名首字母大写和驼峰原则,包名小写,常量名大写下划线分隔XX_XX。
运算
计算中已最高类型为准。
关系运算符返回布尔。
一元运算符
--自减
++自加
二元运算符
+
-
三元运算符
?:
浙公网安备 33010602011771号