目录
一、Java语言基础
1.数据类型
2.八种数据类型
1字节=8位(二进制位)
- 整数类型(byte,short,int,long)表示没有小鼠点的整数值。如5、-12、0
-浮点类型(float,double)表示带小数点的数值。如-12.5、3.4
-字符类型(char)用于表示一个字符。字符常量用单引号引起来。如'a' '中'
-布尔类型(boolean)只有两个值:true和false。例如:6>4的值为true,6<4的值为false
3.String类型
-String类型用于表示任意长度的字符串。属于引用类型。字符串常量用双引号引起来
4.标识符的定义规则(硬性要求)
- -标识符由字母、数字、_和$组成。
- -标识符的第一个字符必须为字母、_和$,不能是数字。
- -标识符区分大小写。
- -不能使用关键字做为标识符。
5.标识符的命名习惯(软性要求)
◆变量名、方法名首字母小写。如果由多个单词组成,那么首单词全部小写,所有后续单词首字母大写,其余小写。( 小驼峰命名)
- 如: area、mySalaryThisYear
◆类名首字母大写。如果由多个单词组成,所有单词首字母大写,其余小写。( 大驼峰命名)
- 如:Example、MyApplication 、SimpleApplet
◆常量名全用大写字母,两个单词间用下划线连接。
- 如PI、KAY、MAX VALUE
6.运算符
- 一元运算符,又称单目运算符;例:-2
- 二元运算符,又称双目运算符;例6*9
- 三元运算符,又称三目运算符。例:a>b?a:b
二、选择结构
1.if分支语句
●第一种形式:简单if语句
●第二种形式:双分支if语句
●第三种形式:多分支if语句
2.switch多分支语句
- switch后的表达式为整型(long除外)、字符型、字符串和枚举类型。
- 当表达式的值与case后的常量表达式的值相等时,则执行该case后的语句序列。执行完后退出switch语句,跳转到整个switch语句之后的下一个语句执行。 如果所有的case语句的常量表达式的值与switch之后的表达式不匹配,则执行default之后的语句序列。
- 各case语句之后的常量表达式的值不能相同。
- 如果某个case语句最后的break语句被省略,则执行完该case语句之后,系统则会继续执行下一个case语句。
- 多个case语句可以共用一组执行语句
三、循环结构
1.while语句、do...while语句
while语句和do...while语句的区别
2.for循环语句
for循环通常用于已知循环次数的情况下,使用该循环时,测试是否满足某个条件,如果满足条件,则进入下一次循环,否则,退出该循环。
关于 for 循环有以下几点说明:
- 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
- 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
- 执行一次循环后,更新循环控制变量。
- 再次检测布尔表达式。循环执行上面的过程。
3.break和continue语句
●break语句 ●continue语句
break; continue;
说明:break语句用于跳出本层循环, 说明:用于终止本次循环,跳过该循环体
进入外层循环;在循环语句中常与条件 中位于continue后面的语句,进行下次
语句一起使用。 循环;用于循环语句中,类似于break语
句,常与条件语句一起使用。
4.循环嵌套
◆循环嵌套(即多重循环)
- 在一个循环体内又出现有一个或多个完整的循环结构则称为循环嵌套。
- do—while、while、for三种循环方式可以相互构成循环嵌套。
单重循环 双重循环
四、数组
1.一维数组
◆什么是数组(Array)
- 数组是一 组具有相同类型和名称的变量的有序集合。
- 组成数组的这些变量称为数组的元素,一个数组可以含有若干个元素。
- 下标也叫索引(Index) ,用来指出某个元素在数组中的位置。
- 数组中第一 个元素的 下标默认为0 ,第二个元素的下标为1,依次类推。如果某一数组有n个元 素,则其最大下标为n- 1。
◆一维数组的创建
●语法格式:
数据类型[] 数组名 = new 数据类型[长度];
例:
int[] score = new int[5];
◆一维数组的初始化
●语法格式
数据类型[] 数组名 = new 数据类型[] {初值列表};
数据类型[] 数组名 = {初值列表};
例:
int[] array = new int[] {1,2,3,4};
int[] array = {1,2,3,4};
2.二维数组
◆语法格式:
数据类型符[][] 数组名 = new 数据类型[长度1] [长度2];
例:
double[][] score = new double[2][3];
◆或者
数据类型符[] 数组名;
数组名 = new 数据类型符[长度1] [长度2];
例:
double[][] score;
score = new dounle[2][3];
五、方法
方法的定义及调用
1.程序书写结构
◆学习方法之前程序都写在 main0里
publicclass 类名{
//主方法,程序入口
public static void main(Stringll args) (
//之前我们的程序写这里4
//其实它是 main 方法的方法体
}
}
◆学习方法之后,方法定义在类里,调用在其它方法里
publicclass 类名{
//主方法,程序入口
public static void main(Stringl args) {
//在这里调用各个方法
//可以调用系统库提供的方法
// 也可以调用用户自定义方法
}
//用户自定义方法
public static 返回值类型 方法名(){
方法体
}
}
2.模块化程序设计
模块化程序设计:以功能块为单位进行程序设计。
模块化的目的:降低程序复杂度,提高代码重用率,使程序设计调试和维护等操作简单化
方法:是模块化程序设计中的模块,为完成某个功能而组合在-起的语句,一次定义,多次调用。
注意:面向对象程序设计语言(如Java,C#),称为方法(method)
面向对象程序设计语言(如Java,C#),称为函数(function)
3.方法的定义
语法格式:
[修饰符]返回值类型 方法名([参数列表]){
方法体
}
参数列表
形式参数
语法格式:
[修饰符]返回值类型 方法名([参数列表]){
方法体
}
参数列表
形式参数
4.方法的调用
由类定义内部的其他方法成员调用方法。
语法格式为:
方法名([参数列表])
参数列表
实际参数
5.无参方法与有参方法
- 无参方法:完成一个特定功能,不需要传递数据
- 有参方法:通过形式参数将数据传递到方法中
- 区别:无参方法用于执行一些固定的操作,而有参方法则更加灵活,可以根据外部需求进行定制化的功能实现。
6.无返回值方法与有返回值方法
将百分制转换为等级制
public class MethodGrade {
public static void main(String[] args) {
printGrade(78.5);
printGrade(59.5);
}
public static void printGrade(double score){
if (score >= 90.0) {
System.out.println('A');
}else if (score >= 80.0){
System.out.println('B');
}else if (score >= 70.0){
System.out.println('C');
}else if (score >= 60.0){
System.out.println('D');
}else{
System.out.println('F');
}
}
}
public class MethodGrade {
public static void main(String[] args){
char c = getGrade(78.5);
System.out.println(c);
System.out.printIn("等级为: ” + getGrade(59.5));
}
public static char getGrade(double score){
if (score >= 90.0) {
return 'A';
}else if (score >= 80.0){
return 'B';
}else if (score >= 70.0){
return 'C';
}else if (score >= 60.0){
return 'D';
}else{
return 'F';
}
}
}
方法的参数传递
1.基本数据类型和引用类型
◆基本数据类型 ◆引用类型
●直接包含数据 ●包含对数据的引用
●数据存储在栈中 ●数据存储在堆中
●必须初始化 ●使用关键字new声明
●不能为null ●没有使用new声明,为null
2.方法的参数传递
◆方法的定义格式:
[修饰符] 返回值类型 方法名([参数列表]){
方法体
}
参数列表
形式参数
注意:1.参数传递时注意参数个数、数据类型要匹配
2.实参可以是变量、常量及表达式
◆方法的调用格式:
方法名([参数列表])
参数列表
实际参数
◆参数传递的两种方式:
●值传递:在方法调用的时候。将实参的实际值传递给形参
●引用传递:在方法调用的时候,将实参中的引用地址传递给形参
3.参数传递之值传递
值传递:在方法调用的时候。将实参的实际值传递给形参。在方法内对形参值进行修改,不影响原来的实参。
参数类型为基本数据类型时,为值传递。
4.参数传递之引用传递
引用传递:在方法调用的时候,将实参中的引用地址传递给形参。此时方法内对形参值得改变。就是对该实参的实际操作。
参数类型为引用类型时,为引用传递。
字符串作为参数,虽然是引用传递,但具有传递的特点,在方法内对形参值的修改,不影响原来的实参。
方法的重载
◆方法重载是声明两个以上的同名方法,实现对不同数据类型的相同处理。
◆方法重载有两点要求:
- 重载的方法名称必须相同;
- 重载的方法,其形参个数或类型必须不同,否则将出现“已经定义了一个具有相同类型参数 的方法成员”的编译错误。
◆重载方式可以使得程序更加清楚,以及更加具有可读性。执行同样功能但是具有不同参数类型的方法应该使用同样的名称。
◆ 注意:被重载的方法必须具有不同的参数列表。不能基于不同的修饰符或返回值类型来重载方法。
方法重载的规则
- 方法名称 必须相同
- 参数列表 必须不同 (参数个数不同、或参数类型不同、参数排列顺序不同等)。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同,不足以称为方法的重载。
- 同一个类中,不允许两个方法的方法名称和参数列表都相同
六、总结
Java是一种平台,也是一种程序语言。学习java要循环渐进,有始有终,脚踏实地,不能操之过急。当然,也要具备有信心、恒心、毅力的心理素质。学习java最好还是按照java的学习体系,先学习什么,再学习什么,一步一步来。在学习过程中一定要动手做、试着写代码,而不是抱着一本书看看就行了,很多东西必须要自己动手了才能切身体会到。以上呢是我总结出来的一些知识点,希望对大家有所帮助。最后祝大家学有所成,天天开心 !