1.数据类型转换
1.1自动转换
自动转换:将 取值范围小的类型 自动提升为 取值范围大的类型 。
public static void main(string[] args) {
int i = 1;
byte b = 2;
//byte x = b + i;会报错,结果是int类型
int j = b + i;
System.out.println(j);
}
解析:byte类型占一个字节,int占四个字节。byte在和int类型运算时会提升为int类型 ,自动补充3个字节,因此计算后的结果还是int类型。
转换规则简单总结
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double
1.2 强制转换
将 0.5 赋值到 int 类型变量会发生什么?产生编译失败,肯定无法赋值
int i = 0.5; // 错误
想要赋值成功,只有通过强制类型转换,将 double 类型强制转换成 int 类型才能赋值。
强制类型转换:将 取值范围大的类型 强制转换成 取值范围小的类型 。
int i = (int) 1.5;//结果等于1
1.3 ASCII编码表
这里只需要记住常用的即可,更多可参考Ascll码表
A~Z :65~90
a~z : 97~122
空格:32
回车:13
delete : 46
2.运算符
算数运算符省略,注意++、-- 即可,灵活运用
2.1 赋值运算符
2.2 比较运算符
注意一下,在java中=是赋值的意思,如果用于比较,使用==
2.3 逻辑运算符
逻辑运算符 解释
&& 1. 两边都是true,结果是true 2. 一边是false,结果是false 短路特点:符号左边是false,右边不再运算
|| 1. 两边都是false,结果是false 2. 一边是true,结果是true 短路特点: 符号左边是true,右边不再运算
! 逻辑值取反
2.4 三元运算符
格式:数据类型 变量名 = 布尔类型表达式?结果1:结果2
三元运算符计算方式:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
public static void main(String[] args) {
int sex = 1;
String i = (sex == 1 ? "男":"女");
System.out.println(i);//男
}
3.方法
3.1 方法定义
public static void methodName() {
System.out.println("这是一个方法");
}
方法的定义与调用用的比较多,熟练运用即可.
4.判断语句
4.1 判断语句if
public static void main(String[] args) {
String a = "男";
if (a.equals("男")){
System.out.println("我是男生");
}
}
4.2 判断语句 if…else
public static void main(String[] args) {
String a = "女";
if (a.equals("男")){
System.out.println("我是男生");
}else {
System.out.println("我是女生");
}
}
4.3 判断语句 if…else嵌套
public static void main(String[] args) {
int x = 5;
int y ;
if (x>3){
y = x *3;
}else if (x<3){
y = x + 3;
}else {
y = x - 3;
}
}
4.4 if语句和三元运算符呼唤
public static void main(String[] args) {
int x = 1;
if (x == 1){
System.out.println("我是男生");
}else {
System.out.println("我是女生");
}
System.out.println(x == 1 ? "我是男生" : "我是女生");
}
5.选择语句
5.1 选择语句–switch
public static void main(String[] args){
int day = 6;
switch (day){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 0:
System.out.println("星期日");
break;
default:
System.out.println("输入有误");
}
}
5.2 case的穿透性
在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。
6.循环语句
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。
6.1 循环语句 for
格式:
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}
for循环执行流程
执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
分别输出5次 helloWorld 进行对比,发现代码量减少许多,并且程序的可读性大大提高,减少代码冗余
public static void main(String[] args) {
System.out.println("helloWorld");
System.out.println("helloWorld");
System.out.println("helloWorld");
System.out.println("helloWorld");
System.out.println("helloWorld");
System.out.println("--------------------");
for(int i=0;i<5;i++){
System.out.println("helloWorld");
}
}
循环练习:使用循环,计算1-100之间的偶数和
public static void main(String[] args) {
int sum = 0;//统计和
for (int i = 1;i<=100;i++){
if (i%2==0){
sum+=i;
//System.out.print(i + " ");//验证输出的是否是偶数
}
}
System.out.println(sum);
}
6.2 for循环练习题
判断101-200之间有多少个素数,并输出所有素数。(素数:只能被1或自身整除)
public static void main(String[] args) {
int sum = 0;//统计素数个数
for (int i=101;i<=200;i++){
boolean flag = true;//默认为真
for (int j=2;j<101;j++){
if (i%j==0){
flag = false;//如果为假则说明当前i不为素数
sum++;
}
}
if (flag){
System.out.print(i+" ");
}
}
System.out.println();
System.out.println("素数的个数为: "+sum);
}
打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
public static void main(String[] args) {
for (int i = 100; i < 999; i++) {
int a = i/100;//百位
int b = (i - a*100)/10;//十位
int c = i%10;//百位
if ( i == a*a*a + b*b*b + c*c*c){
System.out.println(i);
}
}
}
注:答案不唯一,仅提供一种解决思路。
6.3 循环语句 while
格式:
初始化表达式①
while(布尔表达式②){
循环体③ 步进表达式④
}
while语句执行流程
执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句。
④循环后,循环变量的变化情况。
while循环输出10次HelloWorld
public static void main(String[] args) {
int i = 0;
while (i<10){
System.out.println("HelloWorld "+i);
i++;
}
}
while循环计算1-100之间的和
public static void main(String[] args) {
int sum = 0;//统计和
int i = 1;//循环次数
while (i<=100){
sum+=i;
i++;
}
System.out.println(sum);
}
6.4 do…while
格式:
do...while执行流程
初始化表达式①
do{
循环体③
步进表达式④
}while(布尔表达式②);
特点: do…while循环的特点:无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。这样的 循环具有一定的风险性,因此初学者不建议使用do…while循环。
例:输出10次HelloWorld
public static void main(String[] args) {
int i = 0;
do{
System.out.println("HelloWorld " + i);
i++;
}while (i<10);
}
6.5 循环语句的区别
for和while的小区别:
控制条件语句所控制的变量,也就是在for循环条件声明的变量,在for循环结束后,就不能再被访问到了。而while循环结束还可以继续使用,如果想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。 在已知循环次数的时候使用推荐使用for,循环次数未知的时推荐使用while。
6.6 跳出语句
break:终止switch或者循环
continue:结束本次循环,继续下一次的循环
7.循环扩展
7.1死循环
也就是循环中的条件永远为true,死循环的是永不结束的循环。例如:while(true){}。
7.2 嵌套循环
One comment
谢谢分享,很不错~ 看视影院https://www.ksbux.com/免费电影在线观看