第1 章 第一节:基础语法
1.1书写规则
1.1.1关键字
在Java语言中,已经定义好的,具有一定的功能和作用的英文单词。所有的关键字都是小写的
在Java中总共有51个关键字,还有两个保留字const\goto.
常见的关键字:
if else for while do switch case default break continue return
int byte short long float double char boolean
null true false
class interface enum
public private protected …
static final abstract native …
new
this super…
1.1.2 标识符
编写Java过程中,需要定义的一些名字(即需要我们自己去定义的名字)
例如:类名,方法名,变量名,接口名,枚举名,包名…
四个规则:(法律–必须遵守)
1)只能由字母,数字,_,$组成
2)标识符不能以数字开始
3)标识符不能使用关键字和保留字
4)严格区分大小写
定义规范:(道德)
1)尽量使用具有相应含义的英文
比如:String name;
请不要使用汉语拼音
String xing ming
更不要使用拼音的缩写
String xm
非常用的英文缩写也不要使用
2)定义标识符时,根据不同的功能有以下规则:
类名,接口名,枚举名,采用大驼峰命名法—每个单词的首字母大写,其它的小写,起到分隔的作用
比如:public class StudentInfo{}
变量名,方法名,采用小驼峰命名法,即首单词的所有字母都小写,比如:public class studentName{}
常量:采用全大写字母,_作为单词分隔
final int MAX_COUNT=55
包名:反域名法定义
比如www.situ.com —>com.situ.student.dao
( . 相当于电脑上的 \ 。)
1.1.3变量和常量
1.变量
程序运行过程中,值可以被改变的量(内存)
语法:
数据类型 变量名;
保存一个可以改变的值
赋值:使用赋值运算符 = 可以给变量或者常量进行赋值操作
变量和常量都是有数据类型的,保存的值必须是指定类型的值
int num=100;
对于变量,可以使用=修改它的值
num=200;
在Java中,变量的使用需要注意:
1)变量必须先定义,才能使用
2)变量必须要进行初始化;
2.常量
程序运行工程中,值不可以被改变的量(内存)
语法:
final 数据类型 变量名(即被final修饰的变量是常量)
保存不可以改变得 值,比如圆周率
double PI=3.14;
对于常量,只能赋值一次,不能再修改常量的值
double PI;
PI=3.14; //首次赋值,初始化
PI=3.1415;//是错误的,常量不能修改,是 不允许的
1.1.4数据类型
1.数据的类型
对于一个学生:姓名、性别、学号、年龄、身高、体重…
Java中的数据类型可以分为基本数据类型和引用类型两大类。
2.基本数据类型
基本数据类型有8种:
类型 | 作用 | 内存 | 范围 | 备注 |
---|---|---|---|---|
byte | 整型 | 1字节 | -128 … 127 | |
short | 整型 | 2字节 | -32768 … 32767 | |
int | 整型 | 4字节 | −231…231−1 | |
long | 整型 | 8字节 | −263…263−1 | 赋值时需要使用L/l |
float | 浮点型 | 4字节 | -3.40E+38 ~ +3.40E+38 | 赋值时需要使用F/f |
double | 浮点型 | 8字节 | -1.79E+308 ~ +1.79E+308 | |
char | 字符型 | 2字节 | Unicode字符 | 赋值时需要使用’'包括字符 |
boolean | 布尔型 | 1字节 | true、false |
Java中的整数常量值,默认为int类型。
Java中的小数常量值,默认为double类型。
3.引用类型
引用类型有3种:数组、类、接口。
枚举也是类。
4.类型转换
4.1自动类型转换
自动转换:
不需要显式的增加任何代码,就可以实现一种数据类型转换成另外一种数据类型。
自动类型转换是指范围小的类型可以不经任何处理自动转换为大的类型,也叫隐式类型转换。注意:boolean不能参与任何数据类型的转换。
举例说明:
自动转换方向:
强制类型转换:
可自动转换的类型之间,如果要反过来转换是不可以的,除非使用强制类型转换
小类型变量=大类型变量
强制类型转换是指使用类型转换符,将一种类型转换为另一种类型,也叫显式类型转换。
语法:
变量 = (数据类型) 表达式;
注意
1) 整数类型自动转换为浮点型时,可能造成精度的丢失。
2) 强制类型转换时,可能导致数据和溢出和精度的丢失。
3) 布尔类型不能与其它类型进行转换。
1.1.5 注释
注释就是在嵌入代码中不会被执行,对代码进行解释和说明的文本。一个优秀代码,注释占到40%~60%。
1.单行注释
// 单行注释
2.多行注释
/** 多行注释,可以指定开始和结尾的位置,可以跨多个行*//* 行内注释 */
3.文档注释
/*** 文档注释*/
文档注释一般用于对类、接口、属性、方法的解释和说明。
文档注释可以借助javadoc工具生成API文档。
IDE也可以通过读取文档注释,提供相关信息。
比如:
1.1.6 输入输出
1.输入
在控制台中进行输入使用java.util.Scanner类。
使用前需要引入该类。
写法:Scanner alt+?
import java.util.Scanner;
具体的步骤实现:
1)创建对象
Scanner sc = new Scanner(System.in);
即在控制台上创建出一个扫描器,扫描用户输入的内容
2) 使用相应的方法获取指定数据类型的值
next(); //获取String类型的值
nextInt(); //获取int类型的值
nextByte(); //获取byte类型的值
nextXXX(); //获取xxx类型的值
获取输入数据:
// 创建Scanner对象Scanner sc = new Scanner(System.in);// 获取字符串
String str = sc.next();// 获取int
int i = sc.nextInt();// 获取long
long l = sc.nextLong();// 获取float
float f = sc.nextFloat();
1.1对应的代码分析
java// 创建Scanner对象
Scanner sc = new Scanner(System.in);
- 创建
Scanner
对象- 这行代码声明并初始化一个
Scanner
对象,sc`,用于从标准输入流(通常是键盘)读取数据。
- 这行代码声明并初始化一个
读取数据
java// 获取字符串
String str = sc.next();
2.获取字符串
sc.next()
:这个方法读取用户输入的下一个完整的单词,返回类型是String
。如果用户输入了“Hello World”,调用sc.next()
将返回“Hello”。
java// 获取int
int i = sc.nextInt();
3.获取整数
sc.nextInt()
:这个方法读取下一个输入的整数值。用户输入的内容会被解析为一个int
类型。如果输入的内容不是有效的整数,将抛出InputMismatchException
异常。
java// 获取long
long l = sc.nextLong();
4.获取长整型
sc.nextLong()
:这个方法读取下一个输入的长整数值,返回类型是long
。它适用于较大的整数。如果用户输入的内容不是有效的长整数,同样会抛出InputMismatchException
异常。
java// 获取float
float f = sc.nextFloat();
5.获取浮点数
sc.nextFloat()
:这个方法读取下一个输入的浮点数,返回类型是float
。如果输入的内容不是有效的浮点数,将抛出InputMismatchException
异常。
1.1.2完整示例
以下是一个完整的示例代码,展示了如何使用 Scanner
类来读取不同类型的输入:
javaimport java.util.Scanner;public class InputExample {public static void main(String[] args) {// 创建Scanner对象Scanner sc = new Scanner(System.in);// 获取字符串System.out.print("请输入一个字符串: ");String str = sc.next();System.out.println("你输入的字符串是: " + str);// 获取intSystem.out.print("请输入一个整数: ");int i = sc.nextInt();System.out.println("你输入的整数是: " + i);// 获取longSystem.out.print("请输入一个长整数: ");long l = sc.nextLong();System.out.println("你输入的长整数是: " + l);// 获取floatSystem.out.print("请输入一个浮点数: ");float f = sc.nextFloat();System.out.println("你输入的浮点数是: " + f);// 关闭Scannersc.close();}
}
注意事项
- 输入类型:在使用
nextInt()
,nextLong()
, 和nextFloat()
等方法时,确保输入的值与预期的类型匹配。如果输入的类型不匹配,程序将抛出异常,导致程序崩溃。 - 使用
nextLine()
:如果在调用nextInt()
,nextLong()
, 或nextFloat()
之后需要读取字符串,最好在读取整数或浮点数后调用一次nextLine()
来清除输入缓冲区中的换行符。 - 关闭 Scanner:在不再需要
Scanner
对象时,使用sc.close()
方法关闭它,以释放系统资源。
2.输出
输出使用System.out对象的print系列方法:
System.out 依赖于系统的输出对象(控制台)
// 将参数的值打印到控制台,并且不换行
System.out.print(参数);// 直接打印换行
System.out.println();// 将参数的值打印到控制台,换行
System.out.println(参数);
在打印时,可以将不同的数据类型进行字符串化,对于引用数据类型调用tostring方法