Java学习之随堂笔记系列——day04
今日内容
1.break和continue关键字以及循环嵌套
1.1 break和continue的区别?
continue表示跳过当前循环,继续执行下一次循环break表示结束整个循环。
案例:
public static void main(String[] args) {
//1.定义一sum变量累加
int sum=0;
//2.键盘录入,导包、创建对象、接收数据
Scanner sc=new Scanner(System.in);
//3.使用while循环接收数据
while(true){
//接收数据
int num=sc.nextInt();
//判断是否是0,如果是0那么就跳出循环
if(num==0){
break;
}
//累加
sum+=num;
}
//打印结果
System.out.println("sum="+sum);
}
1.2 循环嵌套:一般是两层循环的嵌套
for(初始化语句;条件判断语句;条件控制语句){
//循环体
for(初始化语句;条件判断语句;条件控制语句){
//循环体
}
}
例如:
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
//循环体
}
}
执行流程:
当i=1时,内循环的j从1到5都会循环执行一次;
当i=2时,内循环的j从1到5都又会循环执行一次;
...
外循环的i每改变一次,内循环都需要循环5次
案例:九九乘法表
public class ForTest4{
public static void main(String[] args) {
for(int i=1;i<=9;i++){
//内循环执行完了之后就会在一行打印9个@ @@@@@@@@@
for(int j=1;j<=i;j++){
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
//换行
System.out.println();
}
}
}
2.随机数据使用步骤
1.在类上面导包
import java.utils.Random;
2.创建对象
Random r=new Random();
3.获取随机数
int num=r.nextInt(随机数的最大值,但不包括这个值);
案例:猜数字
public static void main(String[] args) {
//要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生成该数字,范围1到100
Random r = new Random();
int number = r.nextInt(100) + 1;
while(true) {
//使用程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现
Scanner sc = new Scanner(System.in);
System.out.println("请输入你要猜的数字:");
int guessNumber = sc.nextInt();
//比较输入的数字和系统产生的数据,需要使用分支语句。这里使用if..else..if..格式,根据不同情况进行猜测结果显示
if(guessNumber > number) {
System.out.println("你猜的数字" + guessNumber + "大了");
} else if(guessNumber < number) {
System.out.println("你猜的数字" + guessNumber + "小了");
} else {
System.out.println("恭喜你猜中了");
break;
}
}
}
3.idea开发工具的安装、使用
常见的快捷键:
快速生成语句
快速生成main()方法:psvm,回车
快速生成输出语句:sout,回车
.var自动生成=左边的变量
soutv自动打印变量名和值
数组名.fori + 按回车
内容辅助键
Ctrl+Alt+space(内容提示,代码补全等)
快捷键:
注释:
单行:选中代码,Ctrl+/,再来一次,就是取消
多行:选中代码,Ctrl+Shift+/,再来一次,就是取消
格式化
Ctrl+Alt+L
4.数组
数组:能够一次性存储多个同类型数据的结构。
数组的定义格式和初始化:
推荐:数据类型[] 数组名;
例如:int[] arr;
创建并初始化:
动态初始化:创建数组的时候指定数组的长度并有系统赋予默认值。
数据类型[] 数组名=new 数据类型[长度];例如:
int[] arr=new int[3];
静态初始化:创建数组的时候指定初始化值,有系统根据值确定长度。
复杂的写法:数据类型[] 数组名=new 数据类型[]{值1,值2,...};
简化的写法:数据类型[] 数组名={值1,值2,...};
例如:int[] arr={100,200,300};
访问数组:
打印数组名称:结果是地址值,数组内存中占用的空间的编号。相当于教室的门牌号
获取值:
数据类型 变量名=数组名[索引];可以使用变量接收,也可以直接打印 例如: int a=arr[0];
赋值(存值):
数组名[索引]=值;
获取长度:
int length = 数组名.length; //.var自动生成左边的变量
注意事项:索引的初始值从0开始,最大值数组的长度-1;
常见的小问题:
1.数组索引越界异常:
ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5
2.空指针异常:.前面的对象是null就会出现空指针异常
Exception in thread "main" java.lang.NullPointerException
Java学习之随堂笔记系列——day04的更多相关文章
- Java学习之随堂笔记系列——day01
学习方法:听.问.敲.悟听:前提:上课要听懂,没有听懂可以及时的问.问:任何的问题都要及时的问.敲:重点内容.多写多练,只有写和练习才能发现新的问题,有问题就问.悟:举一反三.提升自己.今日内容:1. ...
- Java学习之随堂笔记系列——day03
内容回顾:1.标识符和类型转换 1.1 标识符:给类.方法.变量取得名字就是标识符. 命名规则: 1.必须是字母.数字._.$组成 2. ...
- Java学习之随堂笔记系列——day02
昨天内容回顾1.安装jdk和配置环境变量 配置JAVA_HOME和path,只要配置成功之后就可以直接使用java和javac命令.2.HelloWorld案例3.java的基础语法 注释:给程序的解 ...
- 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API
https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...
- Django学习day13随堂笔记
每日测验 """ 今日考题 1.什么是django中间件,它的作用是什么,如何自定义中间件,里面有哪些用户可以自定义的方法,这些方法有何特点 2.基于django中间件的 ...
- java学习之路-分享笔记20150327
---恢复内容开始--- 2个月间,断断续续学习了一段时间java平台相关知识,慢慢梳理出来一些枝枝叶叶,和大家交流下.3年前用java边看边做写了一个项目,所以对语法不是很关注.需要原文档的留邮箱吧 ...
- Django学习day02随堂笔记
每日测验 """ 今日考题 1.谈谈你对web框架的认识,简述web框架请求流程 2.python三大主流web框架的区别 3.安装django需要注意的事项有哪些(最少 ...
- Django学习day12随堂笔记
每日测验 """ 1.什么是cookie和session,你能描述一下它们的由来和工作机制吗(切勿糊弄,敷衍了事) 2.django中如何操作cookie和session ...
- Django学习day08随堂笔记
今日考题 """ 今日考题 1.聚合查询,分组查询的关键字各是什么,各有什么特点或者注意事项 2.F与Q查询的功能,他们的导入语句是什么,针对Q有没有其他用法 3.列举常 ...
随机推荐
- linux下安装redis-6.0.6、配置redis远程连接
官网下载安装包redis-6.0.6.tar.gz https://redis.io/ 上传到服务器之后使用tar -zxvf进行解压,解压后如下: 进入解压的文件之后我们可以看到他的配置文件(配置文 ...
- 安装RHEL7配置本地yum源 -- yum不能安装时,在本地安装,亲测成功
RHEL7 本地yum源配置我们在安装Redhat的时候一般都不会填写注册信息,因为该产品是要购买的,所以我们在使用安装好的Redhat时有的功能是受限的,使用yum源install就是其中之一.那么 ...
- 教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里(会发现什么不可告人的密码)
一.需求 我要把C盘下面的所有图片都拿出来,放到一个新文件夹中.今天小编一身正气,看看有没有什么意外发现!!学会看看自己的盘,悄悄的哦!!! 二.代码展示(运行时间可能有点长) import java ...
- asp.net core的输入模型验证
数据验证特性RequiredAttribute:表示数据不能为空RegularExpressionAttribute:正则校验CompareAttribute:和某个属性比较RangeAttribut ...
- jsoup的Element类
一.简介 该类是Node的直接子类,同样实现了可克隆接口.类声明:public class Element extends Node 它表示由一个标签名,多个属性和子节点组成的html元素.从这个元素 ...
- 1.3RDD的设计与运行原理
此文为个人学习笔记如需系统学习请访问http://dblab.xmu.edu.cn/blog/1709-2/ 提供一种通用的数据抽象 RDD典型的执行过程如下: RDD读入外部数据源(或者内存中的集合 ...
- linux 常用命令(二)——(centos6.8-centos7)防火墙的启动、关闭
centos 6.8 [centos6.5]: 查看chkconfig列表里面是否有iptables的服务: chkconfig | grep iptables 查看防火墙状态: service ip ...
- unitest单元测试TestCase 执行测试用例(一)
前言 unittest单元测试框架不仅可以适用于单元测试,还可以适用自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果. uni ...
- FFmpeg 播放 RTSP/Webcam 流
本文将介绍 FFmpeg 如何播放 RTSP/Webcam/File 流.流程如下: RTSP/Webcam/File > FFmpeg open and decode to BGR/YUV & ...
- nacos在nginx下集群以及数据库问题
持久化mysql时指定数据库编辑application.properties spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql ...