简答题
1:三元运算符的基本格式是什么?执行流程是什么?
比较表达式?表达式1:表达式2;
先进行比较表达式,如果结果为true就取表达式1,如果为false就取表达式2
2:使用键盘录入数据的三个步骤是什么?
a. 导包 import java.util.Scanner;
b. 创建键盘录入对象 Scanner sc =new Scanner(System .in);
c. 获取键盘录入对象 int x=sc.nextInt();
3:if语句有几种格式?分别是什么样子的?各自的执行流程是什么?
a. if(比较表达式){ 先进行比较表达式如果为true,则执行语句体,如果为false则不执行
语句体;
}
b. if(比较表达式){ 先进行比较表达如果为true,则执行语句体1,如果为false则执行语句体2
语句体1;
}else {
语句体2;
}
c. if(比较表达式1){ 先进行比较表达如果为true,则执行语句体1, 如果为false则执行比较表达
语句体1; 式2,如果为true,则执行语句体2,若为false则继续执行直到if语句结束
}else if (比较表达式2){
语句体2;
}……
else{
语句体n+1;
}
4:if语句的注意事项?
a.比较表达式无论简单还是复杂,结果必须是boolean类型
b.一般来说:有左大括号就没有分号,有分号就没有左大括号
5:switch语句的格式?执行流程?
Switch(表达式){
case 1:语句体1;
break;
case 2:语句体2;
break;
……
default:语句体n+1;
break;
}
6:switch语句的注意事项?
a.case后面只能是常量,不能是变量。
b.多个case后面的值不能出现相同的。
c.default可以省略吗?
可以。但是不建议。
d.break可以省略吗?
可以。但是不建议。
容易出现case穿透。
e.default的位置一定要在最后吗?
可以在任意位置,建议在最后。
f.switch语句的结束条件
a:遇到break
b:执行到末尾
看程序写结果(写出自己的分析理由)
1:写出下面程序运行的结果
int x = 1,y = 1;
if(x++==2 &++y==2) //false & true
{
x =7;
}
System.out.println("x="+x+",y="+y); //x=2,y=2
输出结果:x=2,y=2
x++和y++之后x,y值都是2,但是x++是先做运算在进行自加,此时x==1,&前为false,则这个比较
表达式为false,不进行{}内语句,在输出语句中输出字符串“x=”后拼接x值,“y=”拼接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
输出结果:x=2,y=1
x++后, x==2,但是x++是先做运算在进行自加,此时x==1,&&前为false,比较表达式为false,发生短路,&&后面不进行,y==1,不进行{}内语句,在输出语句中输出字符串“x=”后拼接x值,“y=”拼接y值
3:写出下面程序运行的结果
int x = 1,y = 1;
if(x++==1 | ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
输出结果:x=7,y=2
x++和++y,x,y值均为2,但x++是先运算在自加所以x==1为true,|前为true,则比较表达式为true进行{}内表达式x=7,在输出语句中输出字符串“x=”后拼接x值,“y=”拼接y值
4:写出下面程序运行的结果
int x = 1,y = 1;
if(x++==1 || ++y==1)
{
x =7;
}
System.out.println("x="+x+",y="+y);
输出结果:x=7,y=1
X++后x==2,x++是先运算在自加所以x==1为true,||之后的发生短路,则y==1,进行{}内表达式x=7,在输出语句中输出字符串“x=”后拼接x值,“y=”拼接y值
5:写出下面程序运行的结果
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");
输出结果:c
6:写出下面程序运行的结果
int x = 2,y=3;
switch(x)
{
default:
y++;
case 3:
y++;
break;
case 4:
y++;
}
System.out.println("y="+y);
输出结果:y=4
/*对两个整数变量的值进行互换。
提示:
第一种:使用第三方变量
*/
package practice;
import java.util.Scanner;
//导包
public class demo {
public static void main(String[] args) {
//建立一个main方法
Scanner sc = new Scanner(System.in);
//创建键盘录入对象
System.out.println("输入a=");
//输出”输入a=“
int a = sc.nextInt();
//获取键盘录入对象a
System.out.println("输入b=");
//输出”输入b=“
int b = sc.nextInt();
//获取键盘录入对象b
{
int c=0;
//定义一个变量c
c=a;
//把a的值赋给c
a=b;
//把b的值赋给a
b=c;
//把
}
System.out.println("a="+a);
//输出”a=(a交换后的值)“
System.out.println("b="+b);
//输出”b=(b交换后的值)“
}
}
/*使用三元运算符完成如下练习(数据来自于键盘录入)
比较两个数是否相等
*/
package practice;
import java.util.Scanner;
//导包
public class demo1 {
public static void main(String[] args) {
//建立一个main方法
Scanner sc = new Scanner (System.in);
//创建键盘录入对象
System.out.println("请输入第一个数:");
//输出”请输入第一个数:“
int x = sc.nextInt();
//获取键盘录入对象x
System.out.println("请输入第二个数:");
//输出”请输入第二个数:“
int y = sc.nextInt();
//获取键盘录入对象y
{
boolean flag=x==y?true:false;
//定义一个布尔型变量flag,比较表达式为x==y,进行三目运算, 若x==y则flag=ture,
//若x!=y则flag=false
System.out.println(flag);
//输出flag
}
}
}
获取两个数中最大值
*/
import java.util.Scanner;
//导包
public class demo2 {
public static void main(String[] args) {
//建立一个main方法
Scanner sc = new Scanner (System.in);
//创建键盘录入对象
System.out.println("请输入第一个数:");
//输出”请输入第一个数:“
int x=sc.nextInt();
//获取键盘录入对象x
System.out.println("请输入第二个数:");
//输出”请输入第二个数:“
int y=sc.nextInt();
//获取键盘录入对象y
{
int max=x>y?x:y;
//定义一个变量max,比较表达式为x>y,进行三目运算,若x>y,则max=x,若x<y,则max=y
System.out.println(max);
//输出max的值
}
}
}
获取三个数中最大值
*/
import java.util.Scanner;
//导包
//建立一个main方法
Scanner sc = new Scanner (System.in);
//创建键盘录入对象
System.out.println("请输入第一个数:");
//输出”请输入第一个数:“
int x=sc.nextInt();
//获取键盘录入对象x
System.out.println("请输入第二个数:");
//输出”请输入第二个数:“
int y=sc.nextInt();
//获取键盘录入对象y
System.out.println("请输入第三个数");
//输出”请输入第三个数“
int z=sc.nextInt();
{
int d=x>y?x:y;
//定义一个变量d,比较表达式为x>y,进行三目运算,若x>y,则d=x,若x<y,则d=y
int max=d>z?d:z;
//定义一个变量max,比较表达式为d>z,进行三目运算,若d>z,则max=d,若d<z,则max=z
System.out.println(max);
//输出max的值
}
}
}
比较两个数是否相等
*/
import java.util.Scanner;
//导包
public class demo4 {
public static void main(String[] args) {
//建立一个main方法
Scanner sc=new Scanner(System.in);
//创建键盘录入对象
System.out.println("请输入第一个数");
//输出”请输入第一个数“
int x=sc.nextInt();
//获取键盘录入对象x
System.out.println("请输入第二个数");
//输出”请输入第二个数“
int y=sc.nextInt();
//获取键盘录入对象y
boolean flag;{
//定义一个布尔型变量flag
if(x==y){
flag=true;
//当x==y时,flag=true
}
else{
flag=false;
//当x!=y时,flag=false
}System.out.println(flag);
//输出flag
}
}
}
获取两个数中最大值
*/
import java.util.Scanner;
//导包
public class demo5 {
public static void main(String[] args) {
//建立一个main方法
Scanner sc=new Scanner(System.in);
//创建键盘录入对象
System.out.println("请输入第一个数");
//输出”请输入第一个数“
int x=sc.nextInt();
//获取键盘录入对象x
System.out.println("请输入第二个数");
//输出”请输入第二个数“
int y=sc.nextInt();
//获取键盘录入对象y
int max=0;
if(x>y){
max=x;
//当x>y时,max=x
}
else{
max=y;
//当x<y时,max=y
}System.out.println(max);
//输出max
}
}
获取三个数中最大值
*/
import java.util.Scanner;
//导包
public class demo6 {
public static void main(String[] args) {
//建立一个main方法
Scanner sc=new Scanner(System.in);
//创建键盘录入对象
System.out.println("请输入第一个数");
//输出”请输入第一个数“
int x=sc.nextInt();
//获取键盘录入对象x
System.out.println("请输入第二个数");
//输出”请输入第二个数“
int y=sc.nextInt();
//获取键盘录入对象y
System.out.println("请输入第三个数");
//输出“请输入第三个数”
int z=sc.nextInt();
//获取键盘录入对象z
int max=0;
int a=0;
//定义变量max和a
if(x>y){
a=x;
//当x>y时,a=x
}
else{
a=y;
//当x<y时,a=y
}if(a>z){
max=a;
//当a>z时,max=a
}else{
max=z;
//当z>a时,max=z
}
System.out.println(max);
//输出max
}
}
90~100 A等。
80-89 B等。
70-79 C等。
60-69 D等。
60以下 E等。
*/
import java.util.Scanner;
//导包
public class demo7 {
public static void main(String[] args) {
//建立一个main方法
Scanner sc=new Scanner(System.in);
//创建键盘录入对象
System.out.println("请输入你的成绩");
//输出“请输入你的成绩”
int score=sc.nextInt();{
//获取键盘录入对象score
if(score<=100&&score>=90){
System.out.println("你的成绩等级为A");
//如果90<=score>=100,输出“你的成绩为A”
}else if(score<=89&&score>=80){
System.out.println("你的成绩等级为B");
//如果80<=score>=89,输出“你的成绩为B”
}else if(score<=79&&score>=70){
System.out.println("你的成绩等级为C");
//如果70<=score>=79,输出“你的成绩为B”
}else if(score<=69&&score>=60){
System.out.println("你的成绩等级为D");
//如果60<=score>=69,输出“你的成绩为D”
}else if(score<=59&&score>=0){
System.out.println("你的成绩等级为E");
//如果0<=score>=59,输出“你的成绩为E”
}else {
System.out.println("你输入的成绩不正确");
//如果输入数据不在上述范围,输出“你输入的成绩不正确”
}
}
}
}
import java.util.Scanner;
//导包
public class demo8 {
public static void main(String[] args) {
//建立一个main方法
Scanner sc= new Scanner(System.in);
//创建键盘录入对象
System.out.println("请输入月份:");
//输出()内的字符
int x=sc.nextInt();{
//获取键盘录入数据
switch(x){
case 12:
case 1:
case 2:System.out.println("冬天");
break;
//当键盘录入值为12,1,2时输出()内 字符,并跳出switch语句
case 3:
case 4:
case 5:System.out.println("春天");
break;
//当键盘录入值为3,4,5时输出()内 字符,并跳出switch语句
case 6:
case 7:
case 8:System.out.println("夏天");
break;
//当键盘录入值为6,7,8时输出()内 字符,并跳出switch语句
case 9:
case 10:
case 11:System.out.println("秋天");
break;
//当键盘录入值为9,10,11时输出()内 字符,并跳出switch语句
default:System.out.println("输入错误");
break;
//当键盘录入值不在以上case值中,输出()内字符,并跳出switch语句
}
}
}
import java.util.Scanner;
public class demo9 {
public static void main(String[]args) {
//建立一个main方法
Scanner sc=new Scanner(System.in);
//创建一个键盘录入对象
System.out.println("请输入月份值");
//输出“请输入月份值”
int month=sc.nextInt();
//获取键盘录入对象month
if(month==12||month==1||month==2){
System.out.println("冬天");
//如果是1,2,12,输出“冬天“
}else if(month>=3&&month<=5){
System.out.println("春天");
//如果是3,4,5,输出“春天”
}else if(month>=6&&month<=8){
System.out.println("夏天");
//如果是6,7,8,输出“夏天“
}else if(month>=9&&month<=11){
System.out.println("秋天");
//如果是9,10,11,输出“秋天”
}else{
System.out.println("你输入数据不合法");
//如果没有输入以上数据输出“你输入数据不合法”
}
}
}