1:常见的算术运算符有哪些?
+,-,*,/,%
+运算符的作用有哪些?
表示正,作为算数运算符中的加号,作为连词符连接字符串
除法和取余的区别?
除法是得到商,取余是获得余数
++和--的使用规则?
++:自增加一,若在前面是数字先自增加一后参与运算,若在后面是先参与运算后自增加一,他可以自动强制转换
--:自减减一,若在前面是数字先自减减一后参与运算,若在后面是先参与运算后自减减一,他可以自动强制转换
2:常见的赋值运算符有哪些?
= ,+=,-=,/=,*=,%=
+=运算的作用是什么?
将左右两边的数值相加并赋值给左边
扩展的赋值运算符有什么特点?
3:short s = 1; s = s + 1;有没有问题?如果有怎么解决?
有,右边为不确定的int型,无法自动复制给byte行
解决方法:强制类型转换 s = (byte)(s+1);
short s = 1; s += 1;有没有问题?如果有怎么解决?
没有问题,因为+=会自动类型强制转换
4:常见的关系运算符有哪些?
==,!=,>,>=,<,<=
关系运算符的结果有什么特点?
返回值为boolean类型:true,false
5:常见的逻辑运算符有哪些?
&,&&,|,||,逻辑异或,!
&和&&的区别是什么?
&&又叫短路与,若是左边结果为false,右边不会判断,提升效率,而&不管左边结果如何,右边都会判断
|和||的区别是什么?
||又叫短路或,若是左边结果为true,右边不会判断,提升效率,而|不管左边结果如何,右边都会判断
6:位运算符^的特点是什么?
相同则0,不同则1
7:如何实现对两个整数变量的值进行互换。
举例:
int x = 10;
int y = 5;
x=x^y;
y=x^y;
x=x^y;
8:三元运算符的格式是什么?
(关系表达式)?表达式1:表达式2;
执行流程是什么?
先判断关系表达式,结果为true就返回表达式1,为false就返回表达式2
9:使用三元运算符完成如下练习
比较两个数是否相等
获取两个数中最大值
获取三个数中最大值
int x = 3;
int y = 6;
int z = 9;
boolean a1 = (x == y)?true:false;
int a2 = (x>y)?x:y;
int a3 = (a2>z)?a2:z;
10:流程控制语句有几种?
两种if和switch
11:if语句的格式有几种?注意事项是什么?分别在什么时候使用?
三种
一:if(比较表达式) {
语句体;
}
注意事项:1,比较表达式无论简单还是复杂结果必须是boolean类型
2,if语句控制的语句如果是一条语句,大括号可以省略,如果是多条语句,就不能省略,建议永远不要省略
3,一般来说有做大括号就没有分号,有分号就没有做大括号(加分号后,后面的语句就变局部代码块了)
二:if(表达式) {
语句体1;
} else {
语句体2;
}
注意事项:1,else后面是没有比较表达式的
2,其他参考第一种
三:if(表达式1) {
语句体1;
} else if(表达式2) {
语句体2;
} else if(表达式3) {
语句体3;
}
........
else {
语句体 n+1;
}
注意事项:最后一个else可以省略,但是最好不要省略,可对范围外的错误进行提示
在什么时候使用是看情况而定,根据你控制的流程所分区间的多少,若只有一个区间就第一种,若有两个区间就第二种,若有多个区间就第三种
12:看程序写结果:请自己独立分析,先不要编译运行。
第一题
int x = 1,y = 1;
if(x++==2 & ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果: x=2,y=2
---------------------------------------------------
第二题
int x = 1,y = 1;
if(x++==2 && ++y==2)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果: x=2,y=1
---------------------------------------------------
第三题
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果: x=7,y=2
---------------------------------------------------
第四题
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
结果: x=7,y=1
---------------------------------------------------
第五题
boolean b = true;
if(b==false)
System.out.println("a");
else if(b)
System.out.println("b");
else if(!b)
System.out.println("c");
else
System.out.println("d");
结果: b
x=2 y=2
x=2 y= 1
x=7 y= 2
x=7 y=1
b
---------------------------------------------------
13:编写代码实现如下内容:if语句实现
考试成绩分等级。
90~100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下 E等。
请根据给定成绩,输出对应的等级。
import java.util.Scanner;
class Demo13 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入成绩:");
int score = sc.nextInt();
if(score>=90 && score<=100) {
System.out.println("A等");
}else if(score>=80 && score<=89) {
System.out.println("B等");
}else if(score>=70 && score<=79) {
System.out.println("C等");
}else if(score>=60 && score<=69) {
System.out.println("D等");
}else if(score>=0 && score<=59) {
System.out.println("E等");
}else {
System.out.println("输入有误");
}
}
}
14:switch语句的格式?针对格式的解释?以及注意事项?
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:.
语句体2;
break;
...
default:
语句体n+1;
break;
}
先计算表达式的值,然后和case后面的匹配,如果有就进入执行里面的语句然后break跳出switch,没有就执行default里面的语句然后break跳出switch
注意事项:a case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
b default可以省略,但不建议,因为它的作用是对不正确的情况给出提示,除了特殊情况,case就可以把值固定,如选择题ABCD
c 最后一个break可以省略,其他最好不要省略,否则会出现case穿透
d default可以在任何位置,但是建议放最后,作用都是一样的
e switch语句结束条件,遇到break就结束了,或者执行到switch的又大括号
15:看程序,分析下面程序的结果:
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
结果: y=5
16:根据输入的值,判断是星期几。(分别用if语句和switch语句实现)
输入:1
输出:星期1
package com.zkch.test;
import java.util.Scanner;
public class Demo16 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字(1到7):");
int num = sc.nextInt();
switch(num) {
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 7:
System.out.println("星期天");
break;
default:
System.out.println("输入有误");
}
System.out.println("====================");
if(num == 1) {
System.out.println("星期一");
} else if(num == 2) {
System.out.println("星期二");
} else if(num == 3) {
System.out.println("星期三");
} else if(num == 4) {
System.out.println("星期四");
} else if(num == 5) {
System.out.println("星期五");
} else if(num == 6) {
System.out.println("星期六");
} else if(num == 7) {
System.out.println("星期天");
} else {
System.out.println("输入有误");
}
}
}
17:把今天讲过的其他案例再练习一遍
1:for循环的格式?要能看懂执行流程。
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
a,执行初始化语句
b,执行条件判断语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c,执行循环体语句
d,执行循环后的操作表达式
e,回到2继续
用for循环完成如下案例
求和
求偶数和
求奇数和
打印水仙花数
统计水仙花数
九九乘法表
package com.zkch.test;
public class Demo1 {
public static void main(String[] args) {
int sum = 0;
int sum1 = 0;
int sum2 = 0;
for(int i = 1;i<=100;i++) {
sum+=i;
if(i%2!=0) {
sum1+=i;
} else {
sum2+=i;
}
}
System.out.println("和为:"+sum+"奇数和为:"+sum1+"偶数和为:"+sum2);
System.out.println("========================");
int count = 0;
for(int i=100;i<=999;i++) {
int ge = i%10;
int shi = i/10%10;
int bai = i/100%10;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i){
count++;
System.out.println(i+"是水仙花数");
}
}
System.out.println("水仙花数有"+count+"个");
System.out.println("=======================");
for(int i = 1;i<=9;i++) {
for(int j = 1;j<=i;j++) {
System.out.print(j+"*"+i+"="+j*i+'\t');
}
System.out.println();
}
}
}
2:while循环的格式?要能看懂执行流程
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
a,执行初始化流程
b,执行判断条件语句,看其返回值是true还是false
如果是true就继续执行
如果是false就结束循环
c,执行循环体语句
d,执行控制条件语句
e,回到b继续执行
3:break,continue和return分别有什么用?
break是中断一个循环也可以用作跳出switch语句
continue是结束此次循环
return是结束一个方法
4:函数(方法)的概念?函数的格式?格式的解释说明
5:函数的调用
A:明确返回值类型的函数调用
B:void类型的函数调用
6:函数的练习:
A:求两个数据之和
B:判断两个数据是否相等
C:获取两个数中较大的值
D:打印m行n列的星形矩形
E:打印nn乘法表
7:什么是函数重载?以及函数重载的练习?把讲过的案例练习一次即可