java学习笔记(3)
标签(空格分隔): 学习笔记
1. if语句
如果if后面只有一条语句,{}可以省略。
自己写的话看心情。
2. switch语句
switch(表达式){
case 常量一://final 定义
语句;
break; //如果不加break,都执行,所以每一句都加break。
case 常量2:
语句2;
default: //default不是必须的
语句3;
}
// 表达式byte short int char String(1.7版本之后)类型是可以的,其他类型不支持
//case后必须是常量
//如果两个case常量重复,会报错
如果每个情况都考虑,会有代码冗余
可以改成
switch(i){
case 1:
case 2:
case 3:
system.out.print("春季");
break;
case 6:
case 7:
case 8:
System.out.print("夏季");
break;
}
3.循环语句
for 用于循环界限明确的,while用于结束循环条件明确的。
do...while语句:循环体至少执行一次,在判断条件体。
4. 编写程序:
从键盘上读入一个学生成绩,存放在变量score中,根据score的 值输出其对应的成绩等级: (代码略)
score>=90 等级: A
70<=score<90 等级: B
60<=score<70 等级: C
score<60 等级: D
方式一:使用if-else
方式二:使用switch-case: score / 10: 0 - 10
2.寻找最大公约数和最小公倍数(动态规划)
import java.io.*;
import java.util.Scanner;
public class test
{
//寻找最大公约数
public static int find_max_gongyue(int a,int b){
//交换一下,确保a一定比b大
if(a<b){
a=a^b;
b=a^b;
a=a^b;
}
//设置一个临时值,用作动态规划中间值
int cur=a%b;
while(cur!=0){
//cur 不可能比b大,放心赋值
a=b;
b=cur;
cur=a%b;
}
return b;//余数为0的时候,选取b,此值为最大公约数
}
//寻找最大公倍数(两数乘积除以最大公约数即可)
public static int find_max_beishu(int c,int d){
int gongyue=find_max_gongyue(c,d);
int tmp=c*d;
return tmp/gongyue;
}
//测试一下,问题不大
public static void main (String[] args) throws java.lang.Exception
{
int x=find_max_gongyue(20,100);
int y=find_max_beishu(20,100);
System.out.println(x);
System.out.println(y);
}
}
3.打印9*9乘法表
import java.io.*;
import java.util.Scanner;
public class test
{
public static void main (String[] args) throws java.lang.Exception
{
for (int i=1;i<10 ;i++ )
{
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println();
}
}
}
//加一个break可以得到比较奇特的乘法表,如果出现在嵌套循环中,结束的是他所在的循环,并不能结束外层循环