变量和常量

变量和常量

1.数据类型

分为基本类型和引用类型。
基本类型:
  • 整数型:byte(1) short int (4) long(8) 例如:1 4 100

  • 浮点型:float(4) double(8) 例如: 1.2 2.34

  • 布尔型:true(2) false(2)

  • 字符型: char(2) 例如: ‘a’ ‘b’ ‘中’

  • 字符串型:string 例如:“abc” “a” “中国”

**注意:**字符型一定是单个字符。

​ 单引号的一定是字符型。

​ 双引号的一定是字符串性。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lmlX0vmD-1602507029817)(C:\Users\llhnb\Pictures\Saved Pictures\9.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vtsLKpTu-1602507029819)(C:\Users\llhnb\Pictures\Saved Pictures\13.png)]

引用类型

类 接口 数组

2.什么是字节?

位(bit):是计算机内部数据的最小单位,11001100是一个八位二进制数。
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示。
1B(byte,字节)= 8bit(位)
字符:是指计算机中使用的字母、数字、字和符号。

1bit表示1位,1Byte表示一个字节

1B=8b

1KB=1024B

1M=1024KB

1G=1024M

3.整数拓展

进制:二进制0b 十进制 八进制0 十六进制0x
int i = 10;                         //十进制

int i2 = 010;                    //八进制

int i3 = 0x10;                 //十六进制0x

4.浮点数拓展:银行业务怎么表示?钱

BigDecimal 数学工具类

float 有限 离散 舍入误差 大约 接近但不等于
double

注意:最好完全使用浮点数进行比较。

float f = 0.1f;

double d = 1.0/10;

System.out.println(f==d);

float d1=231313123123123123f;

float d2 = d1+1;

System.out.println(d1==d2);

​ 输出结果为:false

​ true

很明显f和d是相等的,本来应该输出true的。

5.字符拓展

所有字符本质还是数字
编码Unicode表:(a=97 A=65) 2字节 范围是0 - 65536
U0000 UFFFF

例:

public static void main(String[] args) {
		char c = '\u0061';
		System.out.println(c);
	}

​ 输出结果为:a

转义字符:\t 制表符 \n 换行

例:

 System.out.println("Hello\tWorld");

​ 输出结果为:Hello World(相当于中间多了个tab键)

  System.out.println("Hello\nWorld");

​ 输出结果为:Hello

​ World

例:

	public static void main(String[] args) {
	String sa = new String("hello world");
	String sb = new String("hello world");
	System.out.println(sa==sb);
	
	String sc = "hello world";
	String sd = "hello world";
	System.out.println(sc==sd);
	}

​ 输出结果为:false

​ true

6.布尔值扩展

boolean flag=true;

if ( flag==true ) { }                    //新手

if ( flag ) { }                          //老手

代码要精简易读

类型转换
public static void main(String[] args) {
		int i = 128;
		//byte b = (byte)i;
		double b = i;
		System.out.println(i);
		System.out.println(b);
	} 

​ 输出结果为:128
​ -128

**注意:**此时出现了内存溢出的情况

​ 强制转换 (类型)变量名 高–>低

​ 自动转换 低–>高

​ 把byte b = (byte)i;注释掉,换成 double b = i;

​ 输出结果为:128

​ 128.0

  • 不能对布尔值进行转换
  • 不能把对象类型转换为不相干的类型
  • 在把高容量转换到低容量的时候,强制转换
  • 转换的时候可能存在内存溢出,或者精度问题!(cast 转换的意思)

例: 精度问题

System.out.println((int)23.7);
System.out.println((int)-45.89f);

​ 输出结果为:23

​ -45

public static void main(String[] args) {
		char c = 'a';
		int d = c+1;
		System.out.println(d);
		System.out.println((char)d);
	}

​ 输出结果为:98

​ b

操作比较大的数的时候,注意溢出问题

JDK7新特性:数字之间可以用下划线分割

例:

public static void main(String[] args) {
		int money = 10_0000_0000;
		System.out.println(money);
	}

​ 输出结果为:1000000000

        int money = 10_0000_0000;
		int years = 20;
		int total = money*years;
		System.out.println(money);
		System.out.println(total);

​ 输出结果为:1000000000

​ -1474836480(计算的时候溢出了)

        int money = 10_0000_0000;
		int years = 20;
		long total2 = money*years;        //默认是int,转换之前已经存在问题了
		long total3 = money*((long)years);//先把一个数转换为long
		System.out.println(money);
		System.out.println(total2);
		System.out.println(total3);

​ 输出结果为:1000000000

​ -1474836480

​ 2000000000

7.变量是什么?

就是可以变化的量!
Java是一种强类型语言,每个变量都必须声明其类型。
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

type varName [=value] [{,varName[=value]}] ;

例:

int a=0;

注意:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

8.变量作用域

类变量
实例变量
局部变量

例:

public class Demo08 {
	//属性:变量
	//实例变量:从属于对象;如果不进行初始化,这个类型的默认值 0或0.0 
	//布尔值:默认是false
	//字符型和字符串型和引用型,默认值都是null
	String name;
	int age;
	static double salary = 2500;  // 类变量  static
	//main方法
	public static void main(String[] args) {
		//局部变量:必须声明和初始化值
		int i = 10;
		System.out.println(i);
		
		//变量类型  变量名字 = new Demo08();
		Demo08 demo08 = new Demo08();
		System.out.println(demo08.age);
		System.out.println(demo08.name);
		System.out.println(salary);
	}
	public void add() {	
	}
}

​ 输出结果为:10

​ 0(默认值为0)

​ null(默认值为null)

9.变量的命名规范

  • 所有变量、方法、类名:见名知意
  • 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词外,后面的单词首字母大写
  • 局部变量:首字母小写和驼峰原则
  • 常量:大写字母和下划线:MAX_VALUE
  • 类名:首字母大写和驼峰原则:Man,GoodMan
  • 方法名:首字母小写和驼峰原则:run(),runRun()

10.常量

常量:初始化后不能再改变值!不会变动的值
所谓常量可以理解为一种特殊的变量,在程序运行过程中不允许被改变

final 常量名=值;

final double PI = 3.14;
常量名一般使用大写字符

例:

public class Demo09 {
	//static和final都是修饰符,不存在先后顺序
	static final double PI = 3.14;
	public static void main(String[] args) {
		System.out.println(PI);
	}
}

​ 输出结果为:3.14

输出2500,但如果把上面的static去掉,就会报错,输出不了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值