Java学习笔记(一)

一 常量

    常量是指在程序中固定不变的数据

 常量的分类

类型含义例子
整数常量所有的整数0,1,-89
浮点数常量所有的小数0.2,-9.2
字符常量单引号中的单个字符‘A’,’单’,‘ ’
字符串常量双引号中的多个字符,可以为空“hello”,”你好”,””
布尔常量true和falsetrue,false
空常量空值(null)null

转义字符序列

符号字符含义
\n换行 (0x0a)
\r回车 (0x0d)
\f换页符(0x0c)
\b退格 (0x08)
\0空字符 (0x20)
\s字符串
\t制表符
"双引号
'单引号
\反斜杠
\ddd八进制字符 (ddd)
\uxxxx16进制Unicode字符 (xxxx)

例子

输出各种常量

public class ConstDemo {

	public static void main(String[] args) {
		//字符串常量
		System.out.println("abd");
		System.out.println("");
		
		//整数常量
		System.out.println(200);
		System.out.println(-100);

		//浮点数常量
		System.out.println(2.00);
		System.out.println(-8.90);

		//字符常量
		System.out.println('a');
		System.out.println('A');
		
		//布尔常量
		System.out.println(true);
		System.out.println(false);
		
		//空常量不能打印输出
		//System.out.println(null);
	}

}

 

二 变量与数据类型

变量

变量是指在内存中开辟的存储空间,用于存放运算过程中需要用到的数据。(程序中可变的数据)

Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。

数据类型

数据类型分类

Java的数据类型分为两大类:

    基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 ;

    引用数据类型:包括 类 、 数组 、 接口 。

基本数据类型

四类八种基本数据类型:

数据类型关键字内存占用取值范围
字节型byte1个字节-128~127
短整型short2个字节-32768~32767
整型int(默认)4个字节-231次方~2的31次方-1
长整型long8个字节-2的63次方~2的63次方-1
单精度浮点数float4个字节1.4013E-45~3.4028E+38
双精度浮点数double(默认)8个字节4.9E-324~1.7977E+308
字符型char2个字节0-65535
布尔类型boolean1个字节true,false

变量的定义

变量定义的格式包括三个要素: 数据类型 、 变量名 、 数据值 。

格式

数据类型 变量名 = 数据值;

例子

public class TestVariable {
    public static void main(String[] args){
        //定义字节型变量
        byte b = 100;
        System.out.println(b);
        //定义短整型变量
        short s = 1000;
        System.out.println(s);
        //定义整型变量
        int i = 123456;
        System.out.println(i);
        //定义长整型变量
        long l = 12345678900L;
        System.out.println(l);
        //定义单精度浮点型变量
        float f = 5.5F;
        System.out.println(f);
        //定义双精度浮点型变量
        double d = 8.5;
        System.out.println(d);
        //定义布尔型变量
        boolean bool = false;
        System.out.println(bool);
        //定义字符型变量
        char c = 'A';
        System.out.println(c);
    }
}

注意

变量名称:同一个大括号范围内,变量的名字不可以相同; 变量赋值:定义的变量,不赋值是不能使用的。

变量赋值:定义的变量,不赋值是不能使用的。

数据类型转换

程序中要求计算的数据,必须要保证数据类型的一致性,如果数据类型不一致时将发生类型的转换。

自动转换 (隐式)

 

特点:代码不需要做处理,自动转换

规则:将取值范围小的类型自动提升为取值范围大的类型

转换从低级到高级。

低  ------------------------------------>  高
byte,short,char—> int —> long—> float —> double 
public class TestDataType {

	public static void main(String[] args) {
		// 左边是long类型,右边是int类型,左右不一致
		// int ---> long符合从小到大,发生自动转换
		long num1 = 100;
		System.out.println(num1);
		
		// 左边是double类型,右边是float类型,左右不一致
		// float ---> double符合从小到大,发生自动转换
		double num2 = 2.4F;
		System.out.println(num2);
		
		// 左边是float类型,右边是long类型,左右不一致
		// long ---> float符合从小到大,发生自动转换
		float num3 = 10L;
		System.out.println(num3);
	}
}

强制类型转换(显式)

特点:代码需要进行特殊的处理,不能自动转换;

规则:将取值范围大的类型强制转换成取值范围小的类型

格式:范围小的类型 范围小的变量名 = (范围小的类型)范围大的数据。

public class TestDataType {

	public static void main(String[] args) {	
		//左边是int类型,右边是long类型
		// long --> int,不是从小到大(不能自动转换)
		//格式:范围小的类型  范围小的变量名 = (范围小的类型)范围大的数据
		int num4 = (int)100L;
		System.out.println(num4);
		
		//数据溢出
		int num5 = (int)100000000000L;
		System.out.println(num5);
		
		//数据精度丢失
		int num6 = (int)3.99;
		System.out.println(num6);
		
		byte num7 = 40;
		byte num8 = 50;
		// byte + byte --> int + int --> int
		int result = num7 + num8;
		System.out.println(result);//90
		
		byte num9 = 40;
		short num10 = 50;
		// byte + short --> int + int --> int
		// int强制转化成short:注意必须保证大小没有超过short的大小范围
		short result1 = (short)(num9 + num10);
		System.out.println(result1);//90

	}

}

注意

1、强制类型转换一般不推荐使用,有可能会出现数据精度丢失、数据溢出;

2、char/short/byte三种数据类型都可以进行数学运算,例如加法“+”;

3、char/short/byte三种数据类型运算时,都会被提升为int类型,再进行运算;

4、布尔类型不能发生数据类型转化。

数据转换表

ASCII码表

常见的值

字符数值
048
957
A65
Z90
a97
z122

Unicode编码表

运算符

运算符:特定的操作符号,例如:+,-

表达式:运算符连起来的式子,例如:a+b

算数运算符

+加法运算
-减法运算
*乘法运算
/除法运算
%取模运算(取余数)
++ 、 --自增自减运算

加号"+"

常见的三种用法:

1、对于数值来说,就是加法;

2、对于字符char类型来说,在计算前,char会被提升为int类型,然后再进行运算;

3、对于字符串String来说,加号表示字符串拼接操作(任何数据类型和字符串拼接,结果都是字符串)

自增自减运算

++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。

独立运算

变量在独立运算时, 前++ 和 后++ 没有区别 。

变量 前++ :例如 ++i 。

变量 后++ :例如 i++ 。

混合运算

和其他变量放在一起, 前++ 和 后++ 就产生了不同。

变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。

public static void main(String[] args) {
    int a = 1;
    int b = ++a;
    System.out.println(a);//计算结果是2
    System.out.println(b);//计算结果是2
}

 变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b 的结果是1。

public static void main(String[] args) {
    int a = 1;
    int b = a++;
    System.out.println(a);//计算结果是2
    System.out.println(b);//计算结果是1
}

赋值运算符

基本赋值运算符:=,表示把右侧的数据赋值给左侧

复合赋值运算符:

    +=:a += b 相当于:a = a+b

    -=:a -= b 相当于:a = a-b

    *=:a = b 相当于:a = ab

    /=:a /= b 相当于:a = a/b

    %=:a %= b 相当于:a = a%b

比较运算符

==、>、<、>=、<=、!=

逻辑运算符

&&、||、! 逻辑运算符具有短路

效果:如果左边已经可以判断最终结果,右边代码将不再执行,从而节约一定的性能

三元运算符

格式:数据类型 变量名 = 条件判断?表达式A:表达式B;

注意

  • 运算中出现不同的数据类型,那么结果是数据类型范围大的那种;例如:double + int --> double + double = double;

  • 只有变量才能进行自增和自减运算,常量不能使用;

  • 只有变量才能使用赋值运算符,常量不能使用;

  • 逻辑运算符只能由于布尔值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

困带着迷茫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值