写程序时,做数据测试,
正确数据
边界数据
错误数据
switch语句
switch(表达式){
case值1:
语句体1;
break:
case值2:
语句体2;
break:
.。。。
default
语句体n+1;
break;
}
解释:
byte ,short,int,char
jdk5后是可以枚举的,jdk7以后是字符串
case后面的值:是用来和表达式的值进行匹配的
break :中断
default:所有值都和表达式不匹配,就执行default对应的内容
执行流程
A计算表达式的值
B拿着这个值依次和case后面的值进行对比,一旦有匹配的,就执行对应的语句,在执行的过程中,遇到break就结束
c所有的case都不匹配就执行语句n+1.
-
for循环语句格式: for(初始化语句;判断条件语句;控制条件语句) {
循环体语句; }System.out.println("helloworld"); } 在这里插入代码片 ```
-
while循环语句格式
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
- dowhile循环语句格式
基本格式
do {
循环体语句;
}while((判断条件语句);
扩展格式
初始化语句;
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
4.区别:
do…while循环至少会执行一次循环体。
for循环和while循环只有在条件成立的时候才会去执行循环体
使用区别:控制条件语句中的变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。
一个等号是赋值
两个等号是比较
这个+=是求和
System.out.println();换行
一些练习
输出五次helloworld
for (int x = 1; x <= 5; x++) {
System.out.println("helloworld");
}
for (int a = 1; a <= 5; a++) {
System.out.println(a);
}
System.out.println("-------");
for (int b = 5; b >= 1; b--) {
System.out.println(b);
}
System.out.println("-------");
int sum = 0;
for (int c = 1; c <= 5; c++) {
sum += c;
}
System.out.println("sum" + sum);
for (int d = 1; d <= 100; d++) {
if (d % 2 == 0)
sum += d;
System.out.println("sum:" + sum);
}
int count = 0;
for (int e = 100; e < 1000; e++) {
int ge = e % 10;
int shi = e / 10 % 10;
int bai = e / 10 / 10 % 10;
if ((ge * ge * ge + shi * shi * shi + bai * bai * bai) == e) {
System.out.println(e);
count++;
}
}
System.out.println("水仙花个数:"+count);
}
int f=1;
while (f<=5){
System.out.println("helloworld");
f++;
}
int sum1 = 0;
int g = 1;
while (g<=100){
sum1 +=g;
g++;
}
System.out.println("sunm1:"+sum1);
打印三角形:
打印直角三角形
for(int x=1; x<=5; x++) {
for(int y=1; y<=x; y++) {
System.out.print("*");
}
System.out.println();
}
打印正三角形
for (int hang = 1; hang <= 5; hang++) {
for (int k = 1; k <= 5 - hang; k++) {
System.out.print(" ");
}
for (int y = 1; y <= hang; y++) {
System.out.print("*"+" ");
}
System.out.println();
}
正的倒三角形:
不过我没有懂怎么来的
for (int hang = 1; hang <= 5; hang++) {
for (int y = 0; y <= hang; y++) {
System.out.print(" ");
}
for (int k = 1; k <= 5-2* (hang-1); k++) {
System.out.print("*");
}
System.out.println();
}
九九乘法表;
\t:转移字符,表示了一个table键的位置
思路:
先打印出一个9层的三角形
观察九九乘法表就是行和列相乘的乘积
就是x*y
if语句获取两数最大值
for (int ha =1;ha<=9;ha++){
for (int li =1;li<=ha;li++){
System.out.print(li+"*"+ha+"="+li*ha+"\t");
}
System.out.println();
}
System.out.println("----------");
package com.itheima_01;
import java.util.Scanner;
public class cd08 {
//创建对象
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入第一个整数");
int a = sc.nextInt();
System.out.println("输入第二个整数");
int b = sc.nextInt();
/*
if (a > b) {
System.out.println("较大的值:" + a);
} else {
System.out.println("较大的值:" + b);
}
*/
int max;
if (a>b){
max = a;
}
else {
max = b;
}
//此处可以再进一步操作
max +=10;
System.out.println("较大值:"+max);
}
}
swich語言的案例根據數字輸出對於的星期
package com.itheima_01;
import java.util.Scanner;
public class cd10 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输出一个整数(1-7):");
//接收
int weekDay = sc.nextInt();
//switch语句
switch (weekDay){
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("您輸出的數據有無");
break;
}
}
}