今天看了一下我的java03的笔记,发现后面的一大部分都被删了,可能是因为写了4天才发出来,文章内容太长了,我我发送了几次都没成功,最后成功发出了,也没检查,可惜了。
控制语句
选择结构语句
if
if else
switch
循环结构语句
for
while
do while
改变控制顺序
break
continue
if 条件判断语句
/*
关于java语句当中的if语句,属于选择结构(分支,条件控制)
if 语句的四种编写方式:
第一种方式:
if (布尔表达式){
java语句;
java语句;
java语句;
java语句;
java语句;
java语句;
.......
}
第二种方式:
if(布尔表达式){
java语句;
java语句;
java语句;
java语句;
....
}else{
java语句;
java语句;
java语句;
....
}
第三种方式:
if(布尔表达式){
java语句;
java语句;
....
}else if (布尔表达式){
java语句;
java语句;
....
}else if (布尔表达式){
java语句;
java语句;
....
}....
第四种方式:
if(布尔表达式){
java语句;
java语句;
....
}else if (布尔表达式){
java语句;
java语句;
....
}else if (布尔表达式){
java语句;
java语句;
....
}else{
java语句;
java语句;
....
}
第二种 和 第四种 都带有else分支,可以保证100%会有分支执行。
所有控制语句都可以嵌套,但是注意{}缩进对齐。
if(){
if(){
}
}
else{
}
if语句的分支中只有一条java语句的话,大括号可以省略不写。
if (true/false){
一条java语句;
};
等价于:
if (true/false)
一条java语句;
*/
public class Java_01 {
public static void main(String[] args){
//所在位置,5公里有kfc,就过去吃午饭
//公里数,判断语句
int distance = 6;
//判断语句
if (distance < 5){
System.out.println("去kfc吃午饭!");
}
}
}
设计学生成绩评判
public class Java_01 {
public static void main(String[] args){
// 根据学生成绩,判定学生成绩等级
// 范围是[0,100]
// [90-100] A
// [80-90] B
// [70-80] C
// [60-70] D
// [0-60] E
//判断语句
double score;
score = 60.0;
if (score <=100 || score >= 90) {
System.out.println('A');
} else if(score >= 80) {
System.out.println('B');
} else if(score >= 70) {
System.out.println('C');
} else if(score >= 60) {
System.out.println('D');
}else if(score >= 0) {
System.out.println('E');
} else {
System.out.println("对不起,您提供的考生成绩不合法!");
}
}
}
改进:
public class Java_01 {
public static void main(String[] args){
// 根据学生成绩,判定学生成绩等级
// 范围是[0,100]
// [90-100] A
// [80-90] B
// [70-80] C
// [60-70] D
// [0-60] E
//判断语句
int score = 20;
String grade = "该考生的成绩等级是 E等级";
if (score <0 || score >= 100) {
grade = "对不起,您提供的考生成绩不合法!";
} else if(score >= 90) {
grade = "该考生的成绩等级是 A等级";
} else if(score >= 80) {
grade = "该考生的成绩等级是 B等级";
} else if(score >= 70) {
grade = "该考生的成绩等级是 C等级";
}else if(score >= 60) {
grade = "该考生的成绩等级是 D等级";
}else {
grade = "该考生的成绩等级是 E等级";
}
System.out.println(grade);
}
}
System.out.println():负责向控制台输出「从内存到控制台,输出的过程,从内存出来」
接受用户键盘输入,从"键盘"到"内存"。『输入的过程,到内存中去』
java 键盘输入
public class Java_01 {
public static void main(String[] args){
// 创建键盘扫描对象
java.util.Scanner s = new java.util.Scanner(System.in);
// 调用Scanner对象的next()方法开始接受用户键盘输入
// 程序执行到这里会停下来,等待用户的输入
// 当用户输入的时候,并且最终敲回车键的时候,键入的信息会自动赋值给userInputContent
// 程序执行到这里,用户的输入信息已经保存到内存中了。
// String userInputContent = s.next();
// // 将内存中的数据输入到控制台
// System.out.println("您输入了:" + userInputContent);
// 接受数字「以整数型int的形式来接受」
int num = s.nextInt();
System.out.println("您输入的数字是:" + num);
System.out.println("计算结果:"+(num + 100));
}
}
年龄判断:
系统给定人的年龄,根据年龄,判断人处于哪个生命阶段,年龄范围:[0-150]
[0-5] 幼儿
[6-10] 少儿
[11-18] 青少年
[19-35] 青年
[36-55] 中年
[56-150] 老年
public class Java_01 {
public static void main(String[] args){
//1.接受键盘输入:年龄「必须是数字」
java.util.Scanner s = new java.util.Scanner(System.in);
//设置提示信息
// System.out.println("请输入您的年龄:"); //换行
System.out.print("请输入您的年龄:"); //不换行
int age = s.nextInt();
//2. 根据需求进行业务逻辑判断
String str = "老年";
if (age < 0|| age>150){
str = "您提供的年龄不合法,年龄值需要在0~150之间!";
System.out.println(str);
System.exit(0);
}else if(age <= 5){
str = "幼儿";
}else if(age <= 10){
str = "少年";
}else if(age <= 18){
str = "青少年";
}else if(age <= 35){
str = "青年";
}else if(age <= 55){
str = "中年";
}
System.out.println("您出入生命周期的"+str+"阶段");
}
}
另外一种笨办法:
判断当前的天气:
当外边下雨:
带雨伞:
判断性别:
男: 带黑伞
女: 带花伞
当外边晴天:
判断天气温度:
30以上:
判断性别:
男: 戴墨镜
女: 擦防晒
要求:
天气,温度,性别,都需要从键盘输入。
天气状况: 1下雨, 0 晴天
温度: 数字
性别: 1男,0 女
*/
public class Java_01 {
public static void main(String[] args){
System.out.println("欢迎使用本系统");
System.out.println("说明1: 1表示下雨,0表示晴天");
System.out.println("说明2: 1表示男,0表示女");
System.out.println("说明3: 温度为数字");
//接受性别
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入性别:");
int sex = s.nextInt();
//接收天气的状况
System.out.print("请输入当前天气状况:");
java.util.Scanner s1 = new java.util.Scanner(System.in);
int weather = s1.nextInt();
//判断天气状况
if(weather == 1){
//下雨天
// System.out.println("下雨天");
if(sex == 1){
System.out.println("带一把大黑伞");
}else if(sex == 0){
System.out.println("带一把大花伞");
}else{
System.out.println("对不起,您的性别不存在!");
}
}else if(weather == 0){
//晴天
// System.out.println("晴天");
//接受温度
System.out.print("请输入当前天气状况温度:");
int tem = s.nextInt();
if(tem > 30){
if (sex == 1) {
System.out.println("戴墨镜");
}else if(sex == 0){
System.out.println("擦防晒霜");
}else {
System.out.println("对不起,您的性别不存在!");
}
}
}else{
System.out.println("对不起,您输入的天气状况不存在!");
}
}
}
单行if else可以省略{}括号
public class Java_01{
public static void main(String[] args){
boolean sex = true;
if(sex){
System.out.println('男');
}else{
System.out.println('女');
}
}
public class Java_01 {
public static void main(String[] args) {
boolean sex = true;
sex = false;
if (sex) System.out.println('男');
else System.out.println('女');
}
}
总结
标识符:自己有权利命名的单词。
包括:类名,方法名,变量名,接口名,常量名。
标识符命名规则: 数字 字母 下划线 $ 不能以下划线开始。
命名规范:类名,接口名: 首字母大写。
遵循驼峰命名规则。
见名知意。
变量名和方法名:首字母小写。
关键字: 特殊含义的字。
不可以做标识符。
eg: public
字面值: 就是数据。 eg:10 ; 100
就是所谓的数据,存储在内存当中。
数据分门别类:整数型,布尔型,浮点数型,字符型,字符串型。
变量:内存中的一块空间。
三部分组成: 数据类型 变量名 字面值。
内存中,存储数据的最基本单元。
作用域: 变量的有效范围。
出了大括号就不认识了。
根据出现的位置,分为 成员变量和 局部变量。
局部变量:只在方法体中管用的对象,出了括号不认识了。
成员变量(全局变量):在方法体之外,类体之内的 所 声明的变量。
变量必须先声明,再赋值。
声明: 数据类型 变量值;
赋值: 变量值 = 字面值;
声明+赋值: int i = 10;
在同一个作用域中,变量之间不可以重名。
一行声明多个变量 int a,b,c = 1,2,3;
数据类型:对数据进行归类。
根据数据类型分配内存大小。
java中分为两大数据类型: 基本数据类型 和 引用数据类型。
基本数据类型:4大类 8小类。
4大类: 整数,浮点,字符,布尔。
8小类:byte,int,short,long,float,double, char,boolean.
取值范围:
byte -128 - 127
int -21473648- 2147364847
short -32768 - 32767
long
double
char 0-65535
boolean true 和 false
二进制
十进制
ASCII表:字符型 通过 ASCII表 转换成 数字
a 97
A 65
gbk18030
unicode编码
utf8
java中采用的就是utf8编码
数据类型详解:
char类型 可以存一个中文字
char类型 占2个字节
转义字符/
整数型 byte,int,short,long
占用字节:1,2,4,6
表示形式(3种):
十进制
八进制 以0开始
十六进制 以0x开始
整数型字面值:
10,20,30当做int类型处理
long类型字面值要在后面加L
21463648L
如果整数字面值,没有超过byte,short,int,char的取值范围
这个整数型的字面值可以直接赋值给 byte,short,int,char对象。
浮点型:float 和 double。
3.1默认当做double处理。
在后面加f,当做float类型处理。eg: 3.1f
double精度不够,使用引用数据类型的 java.math.BigDecimal
java中,提供了强大的库,有 原码 和 字节码
字节码位置
原码位置
布尔类型
只有两种:true和false
自动类型转换:小向大转
强制类型转换:大向小转,需要加强制类型转换符,可能损失精度。
byte short char 做运算,先转成int,再运算。
所以类型进行运算,先转成大的,再统一运算。
如果整数字面值,没超过 byte,int,short,char,可以直接将其赋值,不用考虑强制类型转换。
运算符
算术运算符
++i 和 i++
关系运算符
布尔运算符(逻辑运算符)
&& || & | !
位运算符
赋值运算符
+=
字符串连接运算符
+
条件运算符
A?B:C
如果A成立走B
不成立走C
三目/三元/条件运算符
其他运算符
流程控制
if判断
四种:
if()…
if()…else…
if()…elseif()…
if()…elseif()… else…