第二章 Java语言基础

2.1 关键字和保留字 (知道)

定义:被Java语言富裕了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
官方地址:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html

用于定义数据类型的关键字:
class/ interface/ enum/ byte/ short/ int/ long/ float/ double/ char/ boolean/void

用于定义流程控制的关键字:
if/ else/ switch/ case/ default/ while/ do/ for/ break/ continue/ return

用于定义访问权限修饰符的关键字
Private/ protected/ public
在这里插入图片描述
Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用,自己命名标志符时要避免使用这些保留字。goto/ const

2.2标志符

(1)标识符:Java对各种变量、方法和类等要素命名时使用的字符序列称为标志符
技巧:凡是自己可以起名字的地方都叫标志符
(2)规则:(记住)–(若不遵守,编译不通过,需严格遵守)

①由26个英文字母大小写,0-9,_或$组成
②数字不可以开头
③不可以使用关键字和保留字,但能包含关键字和保留字
④Java中严格区分大小写,长度无限制
⑤标志符不能包含空格

练习:miles, test, a++, --a, 4#r, $4, #44, apps, class, public, int, x, y, redius
蓝色是关键字

(3)规范:(若不遵守,编译通过,建议遵守)

 包名:多个单词组成时所有字母都小写:xxxyyyzzz

 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz

 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz

 常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ

注:1. 命名时:‘见名知意’
2. java采用unicode字符集,因此标识符也可以使用汉字声明,但不建议用

2.3 变量(重点)

1.变量的概念

 内存中的一个存储区域
 该区域的数据可以在同一类型范围内不断变化
 变量是程序中最基本的存储单元。包含变量类型、变量名和存储的值

2.变量的作用

 用于内存中保存数据

3.使用变量注意:

 Java中每个变量必须先声明,后使用
 变量的作用域:其定义所在的一对 { } 内
 变量只有在其作用域内才有效
 同一个作用域内,不能定义重名的变量

4.变量

 声明变量:
语法:<数据类型><变量名称>
例如:int var
 变量的赋值
语法:<变量名称>=<值>
例如:var = 10

 声明和赋值变量
语法:<数据类型><变量名>=<初始化值>
例如:int var = 10

5.变量的分类—按数据类型

在这里插入图片描述
 对于每一种数据都定义了明确的具体数据类型(强类型语言),在内存中分配了不同大小的内存空间

6.变量的分类—按声明的位置的不同

在方法体外,类体内声明的变量称为成员变量
在方法体内部声明的变量称为局部变量
在这里插入图片描述
注意:二者在初始化值方面的异同:
同:都有生命周期
异:局部变量除形参外,需显式初始化。

7. 整数类型:byte、short、int、long (byte记住,其他可不记)

 Java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
Java的整形常量默认为int形,声明long型常量需后面加’l’或‘L’
 Java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long

在这里插入图片描述

例子:


class VariableTest1{
		public static void main(String[] args){
				//1.整形:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节)
				//①byte范围:-128~127
			  
				byte b1 = 12;
				byte b2 = -128;
				//byte b2 = 128; 编译不通过
				System.out.println(b1);
				System.out.println(b2);
				//②声明long型变量,必须以’1’或‘L’结尾
				//③ 通常定义整形变量时,使用int型
				short s1 = 128;
				int i1 = 1234;
				long l1 = 341426783494L;
				System.out.println(l1);			
				
		}
}

8.浮点类型:float \ double

 与整数类型类似,Java浮点类型也有固定的表数范围和字段长度,不受具体操作系统影响

 浮点型常量有两种表示形式:

  十进制数形式:如:5.12   512.0f   .512(必须有小数点)
   科学计数法形式:如:5.12e2   512E2   100E-2

 Float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
Double:双精度,精度是float的两倍。通常采用此类型

 Java的浮点型常量默认为double型,声明float型常量,须后加‘f’ 或 ‘F’
(类型所占字节要知道)在这里插入图片描述
例子:

class VariableTest1{
		public static void main(String[] args){
				//2. 浮点型:float \ double
				//①float表示数值的范围比long还大
				double d1=123.3;
				System.out.println(d1 + 1);
				
				//②定义float类型变量时,变量要以"f"或"F"结尾
				float f1 = 12.3F;
				System.out.println(f1);
				//通常,定义浮点型变量时,使用double型			
		}
}

9.字符串

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

10. 了解:ASCII、Unicode 、UTF-8


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.布尔类型:boolean

在这里插入图片描述
举个例子:
强调:用 \

在这里插入图片描述
在这里插入图片描述

2.4 数据类型之间的运算规则

1.自动类型提升:

在这里插入图片描述

当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。(表示数的范围大小)

举例: byte + byte ,要用int 做运算

2.强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。

使用时要加上强制转换符:(),

但可能造成精度降低或溢出,格外要注意。

注意:boolean类型不可以转换为其它的数据类型。

class VariableTest3 {
	public static void main(String[] args){
		double d1 = 12.9;
		int i1 = (int)d1; //截断操作
		System.out.println(i1);

		//没有精度损失
		long l1 = 123;
		short s2 = (short)l1;
		
		//精度损失举例2
		int i2 = 128;
		byte b = (byte)i2;
		System.out.println(b);//-128
	}
}

2种情况

1.编码情况

编译失败:过大的整数.若不加L,就是4字节

2.编码情况2:

整形常量,默认类型为int型
浮点型常量,默认类型为double型

class  VariableTest4{
	public static void main(String[] args) {
		//1.编码情况
		long l = 1234;
		System.out.println(l);   //通过:1234

		//编译失败:过大的整数.若不加L,就是4字节
		//long l1 = 123456789987654;
		long l1 = 123456789987654L;
		System.out.println(l1);
		//************************************

		//编码情况2:
		//整形常量,默认类型为int型
		//浮点型常量,默认类型为double型
		byte b = 12;
		//byte b1 = b + 1;//编译失败
		//float f1 = b + 12.3;//编译失败
	}
}

3.字符串类型:String

  1. 引用数据类型 翻译为:字符串
  2. 声明String 类型变量时,使用一对""
  3. String 可以和8种基本数据类型变量做运算,且运算只能是连接运算: +
    4.运算结果仍然是String类型
/*
1. 引用数据类型 翻译为:字符串
2. 声明String 类型变量时,使用一对""
3. String 可以和8种基本数据类型变量做运算,且运算只能是连接运算: +
4.运算结果仍然是String类型
*/

class StringTest {
	public static void main(String[] args) {
		String s1 = "Hello World!";
		System.out.println(s1);

		String s2 = "a";
		String s3 = "";

		//char c = '';  //编译不通过,需要放字符串

		//**********************************
		int number = 1001;
		String numberStr = "学号:";
		String info = numberStr + number;  //+ :连接运算
		boolean b1 = true;
		String info1 = info + b1; //+ :连接运算
		System.out.println(info);

		//**********************************
		//练习1:

		char c ='a'; //97
		int num = 10;
		String str = "Hello";
		System.out.println(c + num + str ); // 107Hello
		System.out.println(c + str + num);  // aHello10
		System.out.println(str + num + c);  // Hello10a
		System.out.println((c + num) + str ); //107Hello 
		System.out.println(c + (str + num));  // aHello10
		//练习2
		//* *
		System.out.println("* *");  //对
		System.out.println('*'+'\t'+'*'); //错
		System.out.println('*'+"\t"+'*'); //对
		System.out.println('*'+'\t'+"*"); //错
		System.out.println('*'+('\t'+"*"));//对
	}
}

在这里插入图片描述
练习:
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值