今天看了一下我的java03的笔记,发现后面的一大部分都被删了,可能是因为写了4天才发出来,文章内容太长了,我我发送了几次都没成功,最后成功发出了,也没检查,可惜了。
选择结构语句
if
if else
switch
循环结构语句
for
while
do while
改变控制顺序
break
continue
/* 关于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():负责向控制台输出「从内存到控制台,输出的过程,从内存出来」
接受用户键盘输入,从"键盘"到"内存"。『输入的过程,到内存中去』
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…