第一周练习总结
说明:尽量采用多种做法解决
1.使用三种方法实现变量交换

public class Test1Change{public static void main(String[] args){//1.使用三种方法实现变量交换int a=1;int b=2;//1)第三方变量实现交换/*int c=a;a=b;b=a;*///2)数学运算实现交换/*a=a+b;b=a-b;a=a-b;*///3)位运算实现交换a=a^b;b=a^b;a=a^b;System.out.println("a="+a);System.out.println("b="+b);}
}

2.设计一个实验证明&和&&的区别

public class Test2Prove{public static void main(String[] args){//设计一个实验证明&和&&的区别//方法一:使用自增自减实现int a=2;int b=3;//若后面运算了,那么a应该为3,若为2,说明未运算System.out.println(a>b&&a++>b);System.out.println(a);//若后面运算了,那么b应该为4,若为3,说明未运算System.out.println(a>b&a>b++);System.out.println(b);//方法二:用分母不为0做//若后面运行则会报错:Exception in thread "main" java.lang.ArithmeticException: / by zero,意思是分母不能为0//若后面不运行,则不会报错System.out.println(1>2&&2>(5/0));System.out.println(1>2&2>(5/0));}
}

3.从键盘录入输入3 个数a,b,c,按从大到小进行输出

public class Test3Sort{public static void main(String[] args){//3.从键盘录入输入3 个数a,b,c,按从大到小进行输出int a=3,b=6,c=5;//方法一:int max=a>b?a:b;max=max>c?max:c;int min=a<b?a:b;min=min<c?min:c;//获取mid方法一/*int mid=(a+b+c)-max-min;*///获取mid方法二int mid;if(a<max&&a>min){mid=a;}else{mid=(b<max&&b>min)?b:c;}System.out.println("a,b,c三个数由大到小排列为:"+max+" "+mid+" "+min);//方法二:不需要定义三个变量,但过程复杂,穷举法if(a>=b){if(b>=c){//a>=b b>=cSystem.out.println("三个数从大到小排列:"+a+"   "+b+"    "+c);}else{//a>=b c>=bif(a>=c){System.out.println("三个数从大到小排列:"+a+"   "+c+"    "+b);}else{//a>=b c>=aSystem.out.println("三个数从大到小排列:"+c+"   "+a+"    "+b);}}}else{//b>=aif(a>=c){//b>=a a>=cSystem.out.println("三个数从大到小排列:"+b+"   "+a+"    "+c);}else{//b>=a c>=aif(b>=c){//b>=c c>=aSystem.out.println("三个数从大到小排列:"+b+"   "+c+"    "+a);}else{//c>=b c>=a b>=aSystem.out.println("三个数从大到小排列:"+c+"   "+b+"    "+a);}}}//方法二改版:最外层先获取最大值,第二层再获取第二大值,更好理解,穷举法if(a>=b&&a>=c){if(b>=c){System.out.println("三个数从大到小排列:"+a+"   "+b+"    "+c);}else{System.out.println("三个数从大到小排列:"+a+"   "+c+"    "+b);}}else if(b>=a&&b>=c){if(a>=c){System.out.println("三个数从大到小排列:"+b+"   "+a+"    "+c);}else{System.out.println("三个数从大到小排列:"+b+"   "+c+"    "+a);}}else{if(a>=b){System.out.println("三个数从大到小排列:"+c+"   "+a+"    "+b);}else{System.out.println("三个数从大到小排列:"+c+"   "+b+"    "+a);}}}
}

4.模拟ATM取款机的三次密码校验,当天达到3次输入密码错误,则提示“账号被冻结”,其他情况则提示还有多少次输入机会
注意:如果3次均输错,提示:账号已被冻结
如果1次或2次输错后退出,提示:欢迎下次再来
如果输对了密码,提示:随便取款

import java.util.*;public class Test4ATM{public static void main(String[] args){//4.模拟ATM取款机的三次密码校验,当天达到3次输入密码错误,//则提示“账号被冻结”,其他情况则提示还有多少次输入机会Scanner input=new Scanner(System.in);int count=3;//剩余的机会String str;do{System.out.println("请输入密码:");int password=input.nextInt();if(password==1234){System.out.println("密码正确,请随便取款!");break;}else{count--;if(count<1){System.out.println("账号已被冻结,请携带身份证去银行办理");break;}else{System.out.println("密码错误,还剩余"+count+"次机会。如果继续请输入y,退出请按其他任意键:");str=input.next();if(!str.equals("y")){System.out.println("欢迎下次再来!");break;}}    }}while(str.equals("y"));}
}

5.做一个剪刀石头布的对战小程序

import java.util.*;public class Test5Game{public static void main(String[] args){//5.做一个剪刀石头布的对战小程序Scanner input=new Scanner(System.in);System.out.println("经典游戏:剪刀石头布");System.out.println("游戏规则:1代表剪刀,2代表石头,3代表布");int computer=(int)(Math.random()*3)+1;//问题核心:剪刀与布的比较//方法一:穷举法System.out.println("请出拳:");int me=input.nextInt();switch(me){case 1:if(computer==1){System.out.println("你们战平了,电脑出的剪刀!");}else if(computer==2){System.out.println("你输了,电脑出的石头!");}else{System.out.println("你赢了,电脑出的布!");}break;case 2:if(computer==1){System.out.println("你赢了,电脑出的剪刀!");}else if(computer==2){System.out.println("你们战平了,电脑出的石头!");}else{System.out.println("你输了,电脑出的布!");}break;case 3:if(computer==1){System.out.println("你输了,电脑出的剪刀!");}else if(computer==2){System.out.println("你赢了,电脑出的石头!");}else{System.out.println("你们战平了,电脑出的布!");}break;}//方法二if(computer==1&&me==3||computer==3&&me==1){if(computer==1&&me==3){System.out.println("你输了,电脑出的"+computer+"!");}else{System.out.println("你赢了,电脑出的"+computer+"!");}}else if(computer==me){System.out.println("你战平了,你们出的一样!");}else{if(computer<me){System.out.println("你赢了,电脑出的"+computer+"!");}else{System.out.println("你输了,电脑出的"+computer+"!");}}}
}

6.素数也叫质数.是除了1和其本身,不能被其他正整数整除的正整数.1不是素数.
a)例如:2,3,5,7,11,13,17,19,23…
a)写一个方法判断该数是否为素数(设计成一个方法 返回类型boolean)
b)输出某个范围内的所有素数,比如100-200之间。

public class Test2SuShu{public static void main(String[] args){/*if(false){System.out.println("搞不定");}*//*for(int i=1;i<=20;i++){//如果是素数,就把他打印出来//if(isSuShu(i) == true){if(isSuShu(i)){System.out.print(i+" ");}}*/showSuShu(20,1);}public static void showSuShu(int start,int end){//start>end 交换for(int i=start;i<=end;i++){//如果是素数,就把他打印出来//if(isSuShu(i) == true){if(isSuShu(i)){System.out.print(i+" ");}}}public static boolean isSuShu(int n){//素数也叫质数.是除了1和其本身,//不能被其他正整数整除的正整数.//1不是质数也不是合数if(n == 1){return false;}//6 2-5//在2到当前数-1的范围内for(int i=2;i<=n-1;i++){//只要有一个数能被整除if(n%i == 0){//说明不是素数return false;}}//遍历结束之后//还是没有其他的数可以被整除//说明是素数return true;}
}

7.数组的查找(两种:普通法,二分法);.数组排序(两种:冒泡排序,选择排序)

import java.util.Arrays;
public class Test6Search{public static void main(String[] args){//7.数组的查找(两种:普通法,二分法)int[] arr={2,6,1,5,9,23};int num=6;//普通法查找for(int i=0;i<arr.length;i++){if(num==arr[i]){System.out.println("要查询的数"+num+"是数组中的第"+(i+1)+"个");}}//二分法查找:必须是有序数组//8.数组排序(两种:冒泡排序,选择排序)//冒泡排序/*for(int j=0;j<arr.length-1;j++){for(int i=0;i<arr.length-1-j;i++){if(arr[i]>arr[i+1]){arr[i]=arr[i+1]+arr[i];arr[i+1]=arr[i]-arr[i+1];arr[i]=arr[i]-arr[i+1];}}}*///二分法查找int max=arr.length-1;int min=0;int mid=(max+min)/2;for(int i=1;i<arr.length;i++){if(arr[mid]==num){System.out.println("要查询的数"+num+"是数组中的第"+(mid+1)+"个");break;}else if(arr[mid]>num){max=mid-1;  }else{min=mid+1;}mid=(max+min)/2;}//选择排序/*for(int j=0;j<arr.length-1;j++){int index=j;for(int i=j+1;i<arr.length;i++){if(arr[index]>arr[i]){index=i;}}int temp=arr[j];arr[j]=arr[index];arr[index]=temp;}*/System.out.println(Arrays.toString(arr));}
}

【JavaSE_第一周】练习题总结相关推荐

  1. Java第一周练习题

    习题 1.(标识符命名)下面几个变量中,那些是对的?那些是错的?错的请说明理由 A. ILoveJava 正确 B. 20正确C.learn@java@不属于标识符命名规则字母.数字.下划线.20 正 ...

  2. # 2019-2020.3 《java程序设计》第一周学习总结

    2019-2020-3 <Java 程序设计>第一周学习总结 在本周的学习中,学习到了好多也收获了好多,从最基础的安装虚拟机开始,根据老师的博客中的教程一步一步的进行,在这过程中也遇到了好 ...

  3. 2017-2018-2 1723《程序设计与数据结构》第八周作业 实验二 第一周结对编程 总结...

    作业地址 第八周作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1847 (作业界面已评分,可随时查看,如果对自己的评分有意 ...

  4. 输出结果为16的python表达式_第一周作业(rayco)

    rayco 第一周作业 第一次-课后习题 a = 10 b = 3 c = a/b-a print(c, type(c)) c = a/b*a print(c, type(c)) c = 0.1*a/ ...

  5. 萌新的java学习之路——第一周

    萌新的java学习之路--第一周 第一周的学习 这是我学习Java的第一周,写这个博客更多的时为了总结自己这一周的学习情况,如果有人看到我写的博客,有什么问题的话,可以问我.虽然我也是一个小白,但我会 ...

  6. 第一周CorelDRAW课总结

    第一周CorelDRAW课总结 1:这节课学到了什么? 嗯  总体来说  让我们了解到了cdr的各种基本介绍  让我们为以后的各种练习打下了坚实的基础  这周学的东西有位图和矢量图  分辨率  色彩模 ...

  7. 第一周Access课总结

    第一周Access课总结 1:这节课学到了什么? 这节课重点学了数据库是用来干什么 做什么的  老师怕我们理解不了 用了很长时间向我们举了很多的例子 让我们终于知道了数据库是用来干嘛的了 顾名思义 数 ...

  8. 20162313苑洪铭 第一周作业

    20162313苑洪铭 20016-2017-2 <程序设计与数据结构>第1周学习总结 教材学习内容总结 本周观看教材绪论 主要在教我建立一个简单的java程序 内容是林肯的名言 虽然看起 ...

  9. 大三下学期第一周总结

    本周以是开学第一周了,在生活方面,生活琐事确实变多了起来.每天上课,看着老师熟悉的面庞,如履春风.感觉学习没有那么多的陌生恐惧.学习是一方面,身体锻炼不能落下.一周至少保证三小时及其以上的运动.身体是 ...

最新文章

  1. loadrunner脚本编写,对nginx进行压测
  2. SyntaxError: Non-UTF-8 code starting with ‘\xe4‘ in file解决办法
  3. tomcat使用redis存储共享session
  4. 和quot;分别是什么?
  5. 弥勒市召开智慧城市建设规划设计征求意见会
  6. 巧用PowerShell维护Win2008服务器作业
  7. CentOS安装Confluence Wiki步骤
  8. 搭建: canal部署与实例运行
  9. 华为HCIE7-中间系统到中间系统的路由泄露、防环、认证和优化机制
  10. ubuntu中java环境配置_Ubuntu下java环境的搭建
  11. redis 缓存数据_Redis 缓存数据方案对比:常规 VS 高并发服务器
  12. AJAX, JSON.js,Newtonsoft.Json.dll,nunit.framework.dll 源代码
  13. Linux虚拟文件系统(内核初始化一)
  14. 【端午安康SXY】Python正则表达式进阶用法(以批量修改Markdown英文字体为例)
  15. 如何查看电脑上面的maven版本?
  16. 智慧数字经营 3.0 系统功能简介
  17. 数学建模拓展内容:卡方检验和Fisher精确性检验(附有SPSS使用步骤)
  18. (附源码)SSM医疗门诊管理系统JAVA计算机毕业设计项目
  19. 踔厉同行,共创未来——道达天际新三板挂牌仪式暨答谢会成功召开
  20. su联合推拉使用方法_联合推拉插件讲解 - 草图大师—景观元素建模教程 - 园林景观设计学院 - 勤学网...

热门文章

  1. 解决安装centos 7后Windows启动项丢失
  2. stdthread(9)死锁deadlock
  3. [专题目录]-CA/TA development导读目录
  4. 删除-Trustzone-TEE-ATF
  5. 一致性算法 - Raft
  6. 查看java返回的值,JavaScript 遍历对象查找指定的值并返回路径
  7. 带你刷burpsuite官方网络安全学院靶场(练兵场)之客户端漏洞——跨站请求伪造(CSRF)专题
  8. 攻击 FreeIPA 域:对象枚举
  9. 【Web】让你的web页面滚动更有趣
  10. stoi() 函数----将一个string类型转换为int型