java基础第二篇
3.选择结构
a.if:
格式一:
if(表达式1){
表达式1为真才执行
}
格式二:
if(表达式1){
表达式1为真才执行
}else{
表达式1位假才执行
}
格式三:判断工龄的范围,判断成绩的范围
if(表达式1){
表达式1为真才执行
}else if(表达式2){
表达式1为假并且表达式2为真 才执行
}else if(表达式3){
表达式1为假并且表达式2为假并且表达式3为真 才执行
}...
b.switch(理解,但是它不常用)
1.应用场景:判断四季(春夏秋冬),判断星期,根据用户的选择,进行对应的操作
Scanner scan=new Scanner(System.in);
int choice=scan.nextInt();
switch(choice){
case 1:
//一般在此处调用独立的方法
break;
case 2:
//一般在此处调用独立的方法
break;
....
default:
//系统没有的选项
System.out.println("你想干啥?");
}
2.case 穿透:不遇到break,不会跳出switch,将会一直执行下面的case
int m=3;
switch(m){
case 1:
System.out.println(m+1);
case 2:
System.out.println(m*2);
case 3:
System.out.println("case3");
break;
}
4.循环结构
a.单层循环:遍历
1.数组遍历
int[] arr={4,5,6};
for (int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
2.字符串遍历
String str="Hello";
第一种:
for (int i=0;i<str.length();i++) {
System.out.println(str.charAt(i));
}
第二种:
char[] charArr=str.toCharArray();//转换为字符数组再去遍历
for (int i=0;i<charArr.length;i++) {
System.out.println(charArr[i]);
}
3.集合遍历
ArrayList<String> al=new ArrayList<String>();
al.add("慕容紫英");
al.add("柳梦璃");
for(int i=0;i<al.size();i++){
String element=al.get(i);
System.out.println(element);
}
b.双层循环:二维数组遍历
int[][] arr={{666,888,1314},{999,520,521,18}};//定义一个二维数组,这个二维数组中包含2个一维数组
//第一个一维数组长度为3,第二个一维数组长度为4
/*
1.首先拿到一个维数组
2.遍历这个一维数组
*/
for(int i=0;i<arr.length;i++){//控制遍历的一维数组的个数
for(int j=0;j<arr[i].length;j++){//遍历当前一维数组中的元素
//arr[i]代表当前遍历的一维数组
System.out.print(arr[i][j]+" ");
}
System.out.println(); //内层循环走完,代表当前一维数组的元素遍历完毕,末尾加换行,输出下个一维数组的长度
}
5.键盘录入与随机数
1.键盘录入:
a.nextInt():从键盘录入一个整数
b.nextLine():从键盘录入一个字符串
c.nextDouble():从键盘录入一个小数
2.键盘录入注意
Scanner scan=new Scanner(System.in);
scan.nextInt();//当你录入3,按回车,其实录入的数据是 3\r\n
//nextInt()方法只扫描整形数据的3,不扫描\r\n
scan.nextLine();//\r\n会被nextLine()接收,而nextLine()遇到\r\n直接结束,不再让用户录入
scan.nextInt();//当你录入3,按回车,其实录入的数据是 3\r\n
//nextInt()方法只扫描整形数据的3,不扫描\r\n
scan.nextLine();//\r\n会被nextLine()扫描处理,那么下面的nextLine()就可以正常录入
scan.nextLine();
3.java.util.Random:验证码,猜数字小游戏
a.产生[m,n]的随机数:nextInt(n-m+1)+m
b.随机取出数组/集合中的元素
int[] arr={1,2,4,5,6};
Random r=new Random();
int ranIndex=r.nextInt(arr.length);//0<=产生的随机数<=arr.length-1
System.out.println(arr[ranIndex]);
ArrayList<String> al=new ArrayList<String>();
al.add("慕容紫英");
al.add("柳梦璃");
al.add("云天河");
al.add("韩菱纱");
Random r=new Random();
int ranIndex=r.nextInt(al.size());//0<=产生的随机数<=arr.length-1
System.out.println(al.get(ranIndex));
java基础第二篇的更多相关文章
- Java SE 第二篇
二. Java SE 第二篇 1. Arrays 数组 // 声明一维数组,[]内不允许有值 int[] arr; int arr[]; // 创建一维数组对象,[]内必须有值 arr = new ...
- 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !
本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...
- java基础——入门篇
整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用 ...
- 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇
本文作为图解java并发编程的第二篇,前一篇访问地址如下所示: 图解进程线程.互斥锁与信号量-看完还不懂你来打我 图形说明 在开始想写这篇文章之前,我去网上搜索了很多关于线程状态转换的图,我惊讶的发现 ...
- JAVA基础第二章-java三大特性:封装、继承、多态
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- 从.Net到Java学习第二篇——IDEA and start spring boot
从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...
- 【Java基础总结】Java基础语法篇(上)
Java基础语法 思维导图 一.Java语言介绍 1.Java应用平台 JavaSE(Java Platform Standard Edition):开发普通桌面和商务应用程序,是另外两类的基础 Ja ...
- Java笔记(基础第二篇)
声明数组 数组元素类型 数组名字[]; 数组元素类型[] 数组名字; 分配内存空间 数组名字 = new 数组元素类型[数组元素的个数] 其中使用new关键字为数组分配内存时,数组中各个元素的初始化值 ...
- JAVA面试精选【Java基础第二部分】
上一篇,我们给出了大概35个题目,都是基础知识,有童鞋反映题目过时了,其实不然,这些是基础中的基础,但是也是必不可少的,面试题目中还是有一些基础题目的,我们本着先易后难的原则,逐渐给出不同级别的题目, ...
随机推荐
- Hadoop实战-Flume之Hdfs Sink(十)
a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = ...
- 项目中一个普通的Java类如何获取service接口(一)
在普通的Java类中获取service接口目的是调用接口中的方法,实现数据的持久化等操作: Java类中的获取service接口方法: IfaceDetectService faceDetectSer ...
- ZOJ - 3932 Handshakes 【水】
题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3932 题意 给出 N 个人,然后 1-N 然后 从 1 - N ...
- 关于<context:annotation-config/>配置
对于spring项目的一些配置,一直感到有些混乱,今天看到一前辈总结的特别好,把自己的理解贴在这里,有不当的地方,后续继续学习: 当我们使用@Autowired.@Required等这些注解时,就要在 ...
- 让tomcat启动时,自动加载你的项目
在tomcat-->conf-->serve.xml文件最后加上 <Context path="/atest" docBase="E:\Workspac ...
- 存储过程系列三:根据表别名方式distinct去重插入
1.根据表别名方式distinct去重插入 insert into GG_XKZ_YLQXSCXKESL_SCDZ ( bzj, xkzid, sqid, jtdz, szsf, ...
- CyclicBarrier及CountDownLatch的使用
CountDownLatch位于java.util.concurrent包下,是JDK1.5的并发包下的新特性. 首先根据Oracle的官方文档看看CountDownLatch的定义: A synch ...
- HihoCoder 1488 : 排队接水(莫队+树状数组)
描述 有n个小朋友需要接水,其中第i个小朋友接水需要ai分钟. 由于水龙头有限,小Hi需要知道如果为第l个到第r个小朋友分配一个水龙头,如何安排他们的接水顺序才能使得他们等待加接水的时间总和最小. 小 ...
- 「NOIP2002」「Codevs1099」 字串变换(BFS
1099 字串变换 2002年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 已知有两个字串 $A$, ...
- albus就是要第一个出场(线性基)
传送门 这个题题目描述真怪异--就不能说人话吗-- 人话:给定长为n的序列A,定义f(s)为集合s内所有元素异或值,求A的所有子集的f值从小到大排列后,q在其中第一次出现的下标对10086取模的值. ...