JavaDay01.二进制,常用的dos命令流程结构语句

JavaDay01:二进制

一:二进制,八进制,十六进制

01.二进制的由来:

02.二进制和八进制:转换关系

03.二进制和十六进制的关系:

04.十进制转二进制:

05.十进制转十六进制:

06.二进制,十六进制转十进制:

07.8421法则:

08.负数表示形式

符号位 数值位
+7 0 000 0111
-7 1 000 0111
负数的表示形式:负数对应的正数符号位变1,负数的反码:除了符号位,所有 位取反(0变1,1变0)
-7的补码: -7 1 111 1000 除了符号位,所有位取反
-7的补码:-7 1 111 1001 在反码基础上+1
总结:
求一个负数的补码的过程:
1.先求对应正数的原码(正数的原码,反码,补码都一样)
2.把正数的原码符号位变1(负数的原码)
3.把负数的原码除了符号位之外,取反(负数的反码)
4.在反码基础上+1 (负数的补码)
总结规律:
+7 0000 0111
-7 1111 1001
+12 0000 1100
-12 1111 0100

二:常用的DOS命令disk

命令 解释
1 dir 列出当前目录下的文件以及文件夹
2 md mkdir创建目录
3 rd 删除空目录
4 cd chdir切换目录,进入目录
5 cd .. 退回到上一级目录
6 cd \ 退回到根目录
7 del 删除文件
8 exit 退出dos命令行

三:流程语句

01.顺序结构

如果代码里没有流程控制,程序是按照书写格式从上而下一行一行执行的,一条语句执行之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束。

02.选择结构

if语句使用boolean 表达式或boolean 值作为选择条件,有三种结构形式:
if(boolean表达式){
  条件执行体
}

if(boolean表达式){条件执行体A}
else{
  条件执行体B
}

if(boolean表达式){条件执行体A}
else if{
  条件执行体B
}else{
  条件执行体C
}

int weekday=3;
switch(weekday){
    case 1:System.out.println("1");break;
    case 2:System.out.println("1");break;
    case 3:System.out.println("1");break;
    case 4:System.out.println("1");break;
    case 5:System.out.println("1");break;
    case 6:System.out.println("1");break;
    case 7:System.out.println("1");break;
  default:System.out.println("没有这一天");
}

关键字名称 解释
1 break 终止当前所在的循环break之后的语句执行不了
2 continue 继续的意思,跳过当前的循环,进入下一次循环操作
3 return 表示结束循环所在的方法,方法都接受了,循环结构自然就结束。

03.循环结构

1.while循环
[初始化部分]
while(条件表达式){
循环体语句;
[循环变量控制语句]
}

1-100偶数之和
        int sum = 0;
		int i = 1;
		while(i<=100){
			if(i % 2 == 0){
				sum += i;
			}
			i++;
		}
		//打印结果
		System.out.println("偶数之和是: " + sum);
案例二
已知珠穆朗玛峰的高度是:8848米,假设有一张足够大的纸,厚度是0.01米,
请问:这张纸折叠多少次可以保证厚度不低于珠穆朗玛峰的高度?
       int count = 0;
		double high = 0.01;
		/*
		while(high <= 8848){
			high = high * 2;
			count++;
			//打印详细信息
			System.out.println("当前纸的厚度是: " + high + "折叠的次数是: " + count);

		}
		*/
		while(true){
			if(high >= 8848){
				//跳出循环
				break;
			}else{
				high = high * 2;
				count++;
			}
		}
		System.out.println("折叠的次数是: " + count);

2.do while循环
/*
[初始化部分]
do {
循环体语句;
[循环变量控制语句]
} while(条件表达式);
*/
       int sum = 0;
		int i = 1;
		do{
			sum += i;
			i++;
		}while(i<=100);
        System.out.println(sum);

案例一
int i=10000;
		int count=0;
		do{
		    int wan = i / 10000;
			int qian = i / 1000 % 10;
			int shi = i / 10 % 10;
			int ge = i % 10;
			//判断
			if(wan == ge && qian == shi){
				count = count + 1;
				// System.out.println(i);
			}
		}while(i<=99999)
		System.out.println(count);
案例二
int i=0;
		int count=0;
		do{
		if(i%3==0&&i%5==0&&i%7==0){
		  System.out.println(i);
		  count++;
		}
		i++;
		}while(i<1000);
3.for循环
案例一
水仙花数:三位数,各个位上数字的立方和等于这个数本身,例:153
个位上的数:和10 %
十位上的数:先除10,在和10 %
百位上的数:和100取商
for(int i = 100;i<=999;i++){
//判断:取到各个位上的数
			int ge = i % 10;
			int shi = i / 10 % 10;
			int bai = i / 100;
			if(ge * ge * ge + shi * shi * shi + bai * bai * bai == i){
				System.out.println(i);
			}
		}
案例二
列出5位数中的回文数:12345
取万位:和10000取商
千位:和1000取商,再和10 %
十位:和10取商,在和10 %
个位:和10 %
        int count = 0;
		for(int i = 10000;i<=99999;i++){
			int wan = i / 10000;
			int qian = i / 1000 % 10;
			int shi = i / 10 % 10;
			int ge = i % 10;
			//判断
			if(wan == ge && qian == shi){
				count = count + 1;
				// System.out.println(i);
			}
		}
		System.out.println("个数是: " + count);
案例三
统计1000以内,同时是3,5,7的倍数的数有多少个
如何判断一个数是3的倍数:和3 % 结果是0.
  //定义统计变量
		int count = 0;
		
		for(int i = 0;i<=1000;i++){
			if(i % 3 == 0 && i % 5 == 0 && i % 7 == 0){
				System.out.println(i);
				// count = count + 1;
				count++;
			}
		}
		System.out.println("满足条件的数量是: " + count + " 个");
案例四
在1-100之间,若是3的倍数,则在它之后输出中文“三”,若是5的倍数,
则在它之后输出中文“五”,若是7的倍数,则在它之后输出中文“七”

数字是无条件输出的(不能换行).再加上判断的结果
for(int i = 1;i<=106;i++){
			System.out.print(i);
			
			//判断
			if(i % 3 == 0){
				System.out.print(" 三");
			}
			if(i % 5 == 0){
				System.out.print(" 五");
			}
			
			if(i % 7 == 0){
				System.out.print(" 七");
			}
			//在这里实现换行
			System.out.println();
		}

4.死循环

//for循环里可以什么都没有,死循环
for(;;){
//break;
}	

5.嵌套循环
多种嵌套循环完成99表    
       //for for
		for(int i = 1;i<=9;i++){
			for(int j = 1;j<=i;j++){
				System.out.print(j + "x" + i + "=" + (j*i) + "\t");
			}
			System.out.println();
		}
		
		//for while
		for(int i = 1;i<=9;i++){
			int j = 1;
			while(j<=i){
				System.out.print(j + "x" + i + "=" + (j*i) + "\t");
				j++;
			}
			System.out.println();
		}
		
		//while while
		int i = 1;
		while(i<=9){
			int j = 1;
			while(j<=i){
			   System.out.print(j + "x" + i + "=" + (j*i) + "\t");
				j++;
		 }
		System.out.println();
		 i++;
			
		}
		
		//while for
		int i = 1;
		while(i<=9){
			for(int j = 1;j<=i;j++){
				System.out.print(j + "x" + i + "=" + (j*i) + "\t");
			}
			System.out.println();
			i++;
		}
6.嵌套循环案

posted @ 2018-10-16 21:58  Steve--DZC  阅读(303)  评论(0编辑  收藏  举报