作者:邹伟志
第一章:Java入门
(一)核心概念与知识点
1.Java的历史特点
①Java 是一种面向对象、跨平台的编程语言。它的 “一次编写,到处运行” 特性得益于 Java 虚拟机(JVM)。
②Java 具有简单性、面向对象、分布式、健壮性、安全性、体系结构中立、可移植性、解释型、高性能、多线程、动态性等特点。
2.Java 开发环境的搭建
①需要安装 JDK(Java Development Kit),它包含了 JRE(Java Runtime Environment)和开发工具。
②配置环境变量,如 PATH,以便在命令行中能方便地运行 Java 命令。
3.第一个Java程序
public class hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
个人心得:对于 Java 开发环境搭建,新手会觉得环境变量配置如同迷宫。其实,只要耐心寻找正确的指引,就像在黑暗中找到了灯塔。官方文档如同精准的地图,每一步的详细说明都是指引方向的路标。在配置过程中,每一次输入和选择都是走向成功的基石。
第二章:数据类型与运算符
(一)变量与常量
1.基本的数据类型
Java 有 8 种基本数据类型:
byte(1 字节)、short(2 字节)、int(4 字节)、long(8 字节)、float(4 字节)、double(8 字节)、char(2 字节)、boolean(1 位,但实际占用 1 字节)。

2.数据类型自动转换
1:自动数据类型转换:在Java中,占用字节数少的数据类型的值,可以直接赋值给占用 字节数多的数据类型的变量,比如short类型的值可以直接赋值给int类型的变量,或者把 int类型的值赋值给double类型的变量。
2:强制数据类型转换:强制类型转换则可以强制性地将占用字节数多的数据类型的数 据转换成占用字节数少的数据类型的数据,但这个转换过程可能会存在数据精度丢失的 问题
(二)运算符与表达式
1.算术运算符

2.算数赋值运算符

public class Main {
public static void main(String[] args) {
int num1 = 7;
int num2 = 3;
System.out.println("交换前:num1=" + num1 + ",num2=" + num2);
int num3 = num1;
num1 = num2;
num2 = num3;
System.out.println("交换后:num1=" + num1 + ",num2=" + num2);
num1 += 2;
num2 += 2;
System.out.println("加2后:num1=" + num1 + ",num2=" + num2);
}
}
运行结果:

3.关系运算符
关系运算符也称作比较运算符,关系运算符的运算结果为布尔类型

4.逻辑运算符
逻辑运算符可以在表达式中生成组合条件,例如在执行特定语句块之前必须满足的两个或多个条件。使用逻辑运算符,可以描述这些组合条件。逻辑运算的返回结果只能为真或假。

(三)选择结构
1. if语句
选择结构用于在代码中做一些逻辑判断,当满足某些条件时,执行某段代码。if语句就是选择结构的代表。通过if语句,能够实现各种各样的逻辑判断。程序执行到if语句后会进行判断:当条件表达式1为true时,执行代码块1;否则,当条件表达式2为true时,执行代码块2;否则,当条件表达式3为true时,执行代码块3;否则,执行代码块n。其中,一个if语句之后可以有0至多个else if语句,可以有0或1个else语句。
import java.util.Scanner;
public class hello {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生成绩: ");
int score = scanner.nextInt();
if (score >= 90) {
System.out.println("优");
} else if (score >= 80) {
System.out.println("良");
} else if (score >= 70) {
System.out.println("中");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
}
}
运行结果:

2. switch语句
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果case全都不匹配,则进入default语句。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入表达式,数字与符号之间使用空格隔开");
int num1 = sc.nextInt();
char operator = sc.next().charAt(0);
int num2 = sc.nextInt();
switch (operator) {
case '+':
System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
break;
case '-':
System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
break;
case '*':
System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));
break;
case '/':
System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));
break;
default:
System.out.println("运算符号不合法!");
break;
}
}
}
运行结果:

3:选择结构的嵌套
选择结构在使用上可以嵌套,if中的代码块也可以是switch语句,switch语句中的代码块也可以是if语句。通过嵌套,可以去判断更加复杂的逻辑
import java.util.Scanner;
public class Power {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份");
int year = sc.nextInt();
if (year % 400 == 0) {
System.out.println(year + " 是闰年");
} else {
if (year % 100!= 0 && year % 4 == 0) {
System.out.println(year + " 是闰年");
} else {
System.out.println(year + " 不是闰年");
}
}
}
}
运行结果:

(四)循环结构
1. for 循环
for/*关键字*/(int i = 0;i < 5;i++){
循环体;
}
//其中括号内的第一个表达式int i = 0是循环变量的初始化
//第二个表达式i < 5是判断退出循环的布尔表达式
//第三个表达式i++ 是每次循环操作结束后的一次对循环变量的操作,以退出循环
//三个表达式可以依据情况省略或在括号外书写,但分号不能省略
2.while循环
while语句相较于for循环更加简单,它的语法有点类似于if语句,如下所示
int i = 0;//对循环变量的初始化
while /*关键字*/ (i < 5/*布尔表达式*/){
循环体;//当布尔表达式为true时会执行的操作
i++;//一般会有循环变量的改变,以达到可能的退出循环的目的
}
//要避免死循环
3.do...while... 循环
不管是for循环还是while循环,都会在循环之前判断循环条件,如果条件刚开始就为false,那么循环体就不会被执行。实际开发中,可能会存在需要循环体至少执行一次的场景,此时就可以使用do...while循环语句。
int i = 0;
do{
循环体;
i++;
}while(i<5);
//先进行一次循环操作,再判断是否继续循环
4:break语句和continue语句
在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。而continue则只能终止某次循环,继续下一次循环。
double sum = 0;//定义成绩的总和
double score = 0;//定义单科成绩
for(int i = 0;i < 5;i++) {
System.out.print("请输入第" + (i + 1) + "门课的成绩:");
score = scanner.nextDouble();
if (score < 0) {
break;//当输入的成绩为负值时,则会跳出循环
}
sum += score;
}
//循环结束后会判断此时的成绩是否为负数
//如果是则会报错,如果不是则正常计算平均值后输出
if(score < 0){
System.out.println("录入错误!");
}else {
System.out.println("平均分为" + (sum/5));
}
运行结果:


5:循环语句的嵌套


971

被折叠的 条评论
为什么被折叠?



