java流程
顺序结构
基础语句的结构。
结构流程图:
public class Hello {
public static void main(String[] args) {
System.out.println("HelloWord");
}
}
条件结构
if语句
结构流程图:
Scanner scanner = new Scanner(System.in);//控制台输入
int javaScore = scanner.nextInt();
int musicScore = scanner.nextInt();
if ((javaScore > 90 && musicScore > 80) || (javaScore == 100 && musicScore > 70)) {
System.out.println("得到奖励");
} else {
System.out.println("无奖励措施");
}
switch语句
switch(key){
case 1:
break;
}
循环结构
for循环
结构流程图:
public static void gaoSi(){
int sum = 0;
for(int i = 0;i<10000;i++){
sum+=i+1;
}
System.out.println(sum);
}
while循环
结构流程图:(类似for循环)
while(//循环条件){
//循环体
}
do while循环
结构流程图:
do{}
while()
//switch结构 switch(key){case 1: break;}
//成绩的分类
public static void switchTest() {
Scanner scanner = new Scanner(System.in);
int javaScore = scanner.nextInt();
int key = javaScore/10;
switch (key) {
case 10:
System.out.println("满分");
break;
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("中等");
break;
case 7:
System.out.println("良好");
break;
case 6:
System.out.println("及格");
break;
default:
System.out.println("不及格,等待补考");
break;
}
}
//高斯和
public static void gaoSi(){
int sum = 0;
for(int i = 0;i<10000;i++){
sum+=i+1;
}
System.out.println(sum);
}
//水仙花数
public static void shuiXian(){
for(int i = 100;i<1000;i++){
int bai = i/100;
int shi = i/10%10;
int ge = i%10;
int sum = bai*bai*bai+shi*shi*shi+ge*ge*ge;
if (i == sum) {
System.out.println(i);
}
}
}
//打印*金字塔
public static void jinZiTa(){
for(int i = 0;i<=5;i++){
for(int k = 0;k<5-i;k++){
System.out.print(" ");
}
for(int j = 0;j<i*2-1;j++){ //找*的个数
System.out.print("*");
}
System.out.println();
}
}
//九九乘法表
public static void chengFa(){
for(int i = 1;i<10;i++){
for(int j = 1;j<=i;j++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
//找1~1000的素数
public static void suShu(){
for(int i = 2;i<1001;i++){
boolean isSuShu = true;//设置boolean值
for(int j = 2;j<i;j++){
int m = i%j;
if (m == 0) {
isSuShu = false;//将原boolean值重新赋值
break;//只要有一次不是素数就会跳出,节省计算时间
}
}
if(isSuShu){
System.out.println(i);
}
}
}
//找1~1000的完全数
public static void perfectNumber(){
for(int i = 1;i<1000;i++){
int m = 0;
for(int j = 1;j<i;j++){
if (i%j == 0) {
m+=j;
}
}
if (m == i) {
System.out.println(i);
}
}
}
//兔子两个月成熟 成熟的兔子一个月生一对兔子 现在我有一对兔子。问20个月以后我有多少对兔子
//兔子生育 1 2 3 4 6 9 13
// a b c d
// a b c d
public static void rabbit(){
int a = 1;
int b = 2;
int c = 3;
int d = 0;
for(int i = 4;i<21;i++){
d = a+c;
a = b;
b = c;
c = d;
}
System.out.println(d);
}
//用字符串转换将一个十进制转化成二进制计算1的个数
public static void zhuanHuan(){
int count = 0;
int index = 4;
String str = Integer.toBinaryString(index);
// System.out.println(str);
int indexy = Integer.parseInt(str);
System.out.println(indexy);
for(int i = 0;i<=str.length();i++){
if (indexy%2==1) {
count++;
}
indexy/=2;
}
System.out.println(count);
}
//转化二进制的1的个数
public static void zhuangHuan2(){
int index = 7;
int count = 0;
while(index!=0){
if (index%2==1) {
count++;
}
index/=2;
}
System.out.println(count);
}
//课堂练习题
public static void train1(){
int sum = 0;
int m = 1;
for(int i = 1;i<21;i++){
// int m = 1;
// m <<=i;
// sum += m-1;
m *= 2;
sum += m-1;
}
System.out.println(sum);
}
// public static void train2(){
// double S = 0.0;
// int i =2;
// while(i<4){ //错误的 i不应该是连续的
// S = S+1.0/(i*(i-1));
// i++;
// }
// System.out.println(S);
public static void train3(){
double sum = 0;
int n = 100;
int i = 1;
while (i<=n) {
if (i%2 == 0) {
sum-=1.0/i;
}
else {
sum+=1.0/i;
}
i++;
}
System.out.println(sum);
}
}