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.列举常 ...
随机推荐
- [数据库系列之MySQL] Mysql整体架构浅析一
一.引言 平时我们在做Java系统时,一般情况下都会连接到一个MySQL数据库上去,执行各种增删改查的语句.大部分的Java工程师对MySQL的了解和掌握程度,大致就停留在这么一个阶段:对MySQL可 ...
- kubernetes/k8s CNI分析-容器网络接口分析
关联博客:kubernetes/k8s CSI分析-容器存储接口分析 kubernetes/k8s CRI分析-容器运行时接口分析 概述 kubernetes的设计初衷是支持可插拔架构,从而利于扩展k ...
- NOIP 模拟 $19\; \rm u$
题解 \(by\;zj\varphi\) 二维差分的题目 维护两个标记,一个向下传,一个向右下传: 对于每次更新,我们可以直接更新 \((r,c)+s,(r+l,c)-s\) ; \((r,c+1)- ...
- idea的properties文件乱码问题解决
设置编码格式: File============>Settings,打开设置后,设置成下面的即可解决:
- nacos config基本使用
说明 Nacos is an easy-to-use dynamic service discovery, configuration and service management platform ...
- UDP与TCP的对比
参考网址:https://blog.csdn.net/m0_38121874/article/details/82914634 1.报头(1)TCP协议报头TCP指传输控制协议,其报头格式如下: TC ...
- Jsoup类
一.简介 Jsoup是一款HTML解析器,可以直接解析url地址,也可以解析html文本内容.也可通过DOM.CSS以及类似于jQuery的操作方法来取出和操作数据.其主要功能: 1.从url.字符串 ...
- linux高级监控atop的使用
一.centos安装 sudo yum -y install epel-release.noarch sudo yum -y install atop sudo systemctl enable at ...
- CPF 入门教程 - 各个控件介绍(八)
CPF C#跨平台桌面UI框架 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF 入门教程 - 绘图(四) CPF 入门 ...
- mybaits源码分析--日志模块(四)
一.日志模块 首先日志在我们开发过程中占据了一个非常重要的地位,是开发和运维管理之间的桥梁,在Java中的日志框架也非常多,Log4j,Log4j2,Apache Commons Log,java.u ...