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基础第二篇的更多相关文章

  1. Java SE 第二篇

    二.  Java SE 第二篇 1.  Arrays 数组 // 声明一维数组,[]内不允许有值 int[] arr; int arr[]; // 创建一维数组对象,[]内必须有值 arr = new ...

  2. 「Java面试题/知识点精华集」20000+字的Java基础知识篇(2020最新版) !

    本文已经收录进我的 79K Star 的 Java 开源项目 JavaGuide:https://github.com/Snailclimb/JavaGuide (「Java学习+面试指南」一份涵盖大 ...

  3. java基础——入门篇

    整体大纲图 1.认识java 核心知识点:JVM.搭建Java开发环境.java的发展史.java特点.java程序类型.垃圾收集器.J2SE下载和安装.环境变量的配置和测试.以及简单的开发工具的使用 ...

  4. 8成以上的java线程状态图都画错了,看看这个-图解java并发第二篇

    本文作为图解java并发编程的第二篇,前一篇访问地址如下所示: 图解进程线程.互斥锁与信号量-看完还不懂你来打我 图形说明 在开始想写这篇文章之前,我去网上搜索了很多关于线程状态转换的图,我惊讶的发现 ...

  5. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  6. 从.Net到Java学习第二篇——IDEA and start spring boot

    从.Net到Java学习第一篇——开篇 所谓工欲善其事,必先利其器,做java开发也一样,在比较了目前最流行的几个java IDE(eclipse,myeclipse.IDEA)之后,我果断选择IDE ...

  7. 【Java基础总结】Java基础语法篇(上)

    Java基础语法 思维导图 一.Java语言介绍 1.Java应用平台 JavaSE(Java Platform Standard Edition):开发普通桌面和商务应用程序,是另外两类的基础 Ja ...

  8. Java笔记(基础第二篇)

    声明数组 数组元素类型 数组名字[]; 数组元素类型[] 数组名字; 分配内存空间 数组名字 = new 数组元素类型[数组元素的个数] 其中使用new关键字为数组分配内存时,数组中各个元素的初始化值 ...

  9. JAVA面试精选【Java基础第二部分】

    上一篇,我们给出了大概35个题目,都是基础知识,有童鞋反映题目过时了,其实不然,这些是基础中的基础,但是也是必不可少的,面试题目中还是有一些基础题目的,我们本着先易后难的原则,逐渐给出不同级别的题目, ...

随机推荐

  1. ElasticSearch(十五) _search api 分页搜索及deep paging性能问题

    1.分页搜索 语法: size,from GET /_search?size=10 GET /_search?size=10&from=0 GET /_search?size=10&f ...

  2. ABAP 取字段的简短描述

    取字段的简短描述: 取字段描述 DATA inttab LIKE STANDARD TABLE OF dfies WITH HEADER LINE. CALL FUNCTION 'DDIF_FIELD ...

  3. github for unity

  4. Hamming校验码

    可参考:http://winda.blog.51cto.com/55153/1068000 Hamming校验码作用:用于校验通信数据,防止出现错误,并具有一定的纠错功能. 汉明码在传输的消息流中插入 ...

  5. Emscripten实现把C/C++文件转成wasm,wast(wasm的可读形式),llvm字节码(bc格式),ll格式(llvm字节码的可读形式)并执行wasm

    <一>˙转换 Emscripten实现把C/C++文件转成wasm,wast(wasm的可读形式),llvm字节码(bc格式),ll格式(llvm字节码的可读形式)的步骤: 最新版本的Em ...

  6. ubuntu nginx 安装 certbot(letsencrypt)

    https://certbot.eff.org 到上面网站按照步骤安装certbot, 安装完成后,certbot 生成证书有两种方式 第一种:standalone模式,certbot 会启动自带的n ...

  7. Ubuntu 16.04上安装SkyEye及测试

    说明一下,在Ubuntu 16.04上安装SkyEye方法不是原创,是来自互联网,仅供学习参考. 一.检查支持软件包 gcc,make,vim(optional),ssh,subversionbinu ...

  8. BZOJ4936:match (不错的分治)

    给你一个由小写字母组成的字符串s,要你构造一个字典序最小的(认为左括号的字典序比右括号小)合法的括号 序列与这个字符串匹配,字符串和括号序列匹配定义为:首先长度必须相等,其次对于一对匹配的左括号和右括 ...

  9. 洛谷 P4245 [模板]任意模数NTT —— 三模数NTT / 拆系数FFT(MTT)

    题目:https://www.luogu.org/problemnew/show/P4245 用三模数NTT做,需要注意时间和细节: 注意各种地方要取模!传入 upt() 里面的数一定要不超过2倍 m ...

  10. MSTAR SETBOX 常用API

    HASHKEY: HashKey需要替换两个文件:“Customer_info.h”与“libecos.a” 1.MApi_DigiTuner_TPSGetLock() //判断是否有信号 2._Za ...