零基础入门学习Java课堂笔记 ——day02
流程控制
1.Scanner对象
来源:java.util.Scanner 我们可以通过Scanner类来获取用户的输入输出
用户交互Scanner
通过new关键词创建Scanner对象
Scanner input = new Scanner(System.in);
通过Scanner类判断用户是否输入,如果输入则读入一个单词的长度
import java.util.Scanner;
public class demo1 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//判断用户是否输入
if(input.hasNext()){
String str = input.next();
System.out.println(str);
}
//方式IO流使用完一定要关闭
input.close();
}
}
通过Scanner类判断用户是否输入,如果输入则读入一行的长度
import java.util.Scanner;
public class demo1 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
//判断用户是否输入
if(input.hasNextLine()){
String str = input.nextLine();//获取一行
System.out.println(str);
}
//方式IO流使用完一定要关闭
input.close();
}
}
进阶用法
当我们要求输入整数、浮点数、字符串的时候Scanner可以过滤掉一些不是我们想要的东西
import java.util.Scanner;
public class demo1{
public static void main(String[] args){
//创建Scanner对象
Scanner input = new Scanner(System.in);
int i = 0;
float f = 0.0f;
if(input.hasNextInt()){ //判断是否为整数
i = input.nextInt();
System.out.println("Int:"+i);
}else if(input.hasNextFloat()){ //是否为浮点数
f = input.nextFloat();
System.out.println("Float:"+f);
}else{ //都不是的话....
System.out.println("Please write down float or int data.");
}
input.close();//关闭IO
}
}
import sun.awt.geom.AreaOp;
import java.util.Scanner;
public class demo1{
public static void main(String[] args){
//利用while循环 实现输入N个数字
// 计算总和以及平均数
Scanner input = new Scanner(System.in);
double total = 0.0;//存放总数的变量
int cnt = 0;//计数器
System.out.println("Please enter data:");
while(input.hasNextDouble()){ //判断是否输入
System.out.print("Please enter data:");
double temp = input.nextDouble();
cnt++; //计数器递增1
total += temp; //计算总和
}
System.out.println("average:"+total/cnt);
System.out.println("total:"+total);
input.close(); //关闭IO
}
}
2.顺序结构
Java的基本结构就是顺序结构,除非特别指明,否则按照顺序一句一句执行,任何一种算法都离不开这种基本算法结构!!!

3.选择结构
在很多时候程序需要判断一个东西是否可行,为了让程序具有分支能力,因此诞生了选择结构
if单选择结构
if(布尔表达式){
//为true的时执行这里
}
//下面还是按照顺序结构执行

if双选着结构
if(布尔表达式){
//为true的时执行这里
}else{
//反之执行这里
}
//下面还是按照顺序结构执行

if多选择结构
if(布尔表达式1){
//布尔表达式1 为true的时执行这里
}else if(布尔表达式2){
//反之 布尔表达式2为true执行这里
}else if(布尔表达式3){
//反之 布尔表达式3为true执行这里
}else{
//反之 执行这里
}
//下面还是按照顺序结构执行

注意:只要一个if else为true那么就会直接跳过其他if else
switch多选择结构
switch(expression){
case value1:
//语句
break;
case value2:
//语句
break;
default:
//语句
}
判断switch括号内部的变量是否为各个value 然后对号入座执行下方的语句知道遇到break,如果都没有对应的value就执行default下方的语句 注:break和default可选
switch语句中的变量类型可以是
- byte、short、int或者char
- 从Java SE 7开始可以支持String类型
- case标签必须表示字符串常量或者字面量
4.循环结构
while循环
如果布尔表达式为true就一直执行循环的内容 反之跳出循环
避免死循环
import sun.awt.geom.AreaOp;
import java.util.Scanner;
public class demo1{
public static void main(String[] args){
int i = 0;
while(i<101){
System.out.println(i);
i++;
}
}
}
import sun.awt.geom.AreaOp;
import java.util.Scanner;
public class demo1{
public static void main(String[] args){
int sum = 0;
int i = 0;
while(i<101){
sum = sum + i;
i++;
}
System.out.println(sum);
}
}
do...while循环
即使不满足条件也要让循环至少执行一次
import sun.awt.geom.AreaOp;
import java.util.Scanner;
public class demo1{
public static void main(String[] args){
int sum = 0;
int i = 0;
do{
System.out.println("我知道条件不符合 但我还是循环了一次");
i++;
}while (i<-1);
System.out.println("i是"+i);
}
}
do..while先执行后判断 while先判断后执行
import sun.awt.geom.AreaOp;
import java.util.Scanner;
public class demo1{
public static void main(String[] args){
String str = "";
int i = 2;
while(i<0){
System.out.println(i);
str = "while";
}
do{
System.out.println(i);
str = "do while" + str;
}while (i<-1);
System.out.println(str);
}
}
for循环
for循环会先对其设置好的变量就行初始化,然后判断是否符合条件如何符合条件就执行代码块,如果不符合条件就跳出循环,每次循环结束都会迭代
public class demo1{
public static void main(String[] args){
//for(初始化;条件判断;迭代)
for(int i=1;i<10;i++){
//代码块
System.out.println(i);
}
}
}
for-each循环
主要是用来遍历数组和集合 的增强for循环
public class demo1{
public static void main(String[] args){
int[] number = {10,20,30,40,50};
for(int item:number){
System.out.println(item);
}
}
}
练习题
test1:计算0~100之间偶数和奇数和
test2:用while或者for循环输出1~1000之间能被5整除的数每行输出3个
test3:打印九九乘法表
import sun.awt.geom.AreaOp;
import java.util.Scanner;
public class demo1{
//计算0到100之间的奇数和偶数的和
static void test1(){
int oddNumberTotal = 0; //奇数
int evenNumberTotal = 0; //偶数
for (int i = 0; i < 100; i++) {
if(i%2 == 0){ //判断是否为偶数
//System.out.println(i);
evenNumberTotal+=i;
}else{
oddNumberTotal+=i;
}
}
System.out.println("oddNumberTotal:"+oddNumberTotal);
System.out.println("evenNumberTotal:"+evenNumberTotal);
}
//用while或for循环输出1~1000之间能被5整除的数 每行输出3个
static void test2(){
for (int i = 0,cnt = 0; i < 1000; i++) {
if(i%5 == 0){ //判断是否为5的倍数
System.out.print(i+"\t");
cnt++; //打印个数递增
}
if(cnt == 3){ //当打印个数为3个时
System.out.println(""); //打印换行符
cnt = 0;//重置个数计数器
}
}
}
//打印九九乘法表
/*
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
*/
static void test3(){
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
//没啥好说的 注意j小于等于i
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println("");
}
}
public static void main(String[] args){
System.out.println("======================>习题1");
test1();
System.out.println("======================>习题2");
test2();
System.out.println("======================>习题3");
test3();
}
}
5.break continue
break:可用于任何循环流程,主要作用是强制退出循环
public class demo1{
public static void main(String[] args){
for(int i=1;i<10;i++){
//代码块
System.out.println(i);
if(i == 5){
System.out.println("阎王让你三更走 绝不留你到五更");
break;
}
}
}
}
continue:用来终止某次循环,跳过未执行的语句,但相当于提前结束一次循环
public class demo1{
public static void main(String[] args){
for(int i=1;i<10;i++){
//代码块
if(i == 5){
System.out.println("让你输出了?");
continue;
}
System.out.println(i);
}
}
}
零基础入门学习Java课堂笔记 ——day02的更多相关文章
- 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案
国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...
- 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案
初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...
- 《零基础入门学习Python》【第一版】视频课后答案第001讲
测试题答案: 0. Python 是什么类型的语言? Python是脚本语言 脚本语言(Scripting language)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序.以简单的方 ...
- 零基础入门学习Python(1)--我和Python的第一次亲密接触
前言 最近在学习Python编程语言,于是乎就在网上找资源.其中小甲鱼<零基础入门学习Python>试听了几节课,感觉还挺不错,里面的视频都是免费下载,小甲鱼讲话也挺幽默风趣的,所以呢,就 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现
088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...
- 080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则
080 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 05 单一职责原则 本文知识点:单一职责原则 说明:因为时间紧张,本人写博客过程中只是 ...
- 057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和
057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数 ...
- 056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用
056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类 ...
- 055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念
055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之 ...
随机推荐
- Asp .Net Core 系列:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现
目录 简介 什么是 Ocelot ? 什么是 Nacos ? 什么是 Swagger ? 什么是 Cors ? Asp .Net Core 集成 Ocelot 网关集成 Nacos 下游配置 Naco ...
- 实时渲染前沿研究:在浏览器上实现了Facebook提出的DLSS算法
大家好,我基于WebNN在浏览器上实现了2020年Facebook提出的Neural-Supersampling-for-Real-time-Rendering算法.它是一个用于实时渲染的神经网络超采 ...
- hybird介绍
什么是hybird? hybrid即"混合",即前端和客户端的混合开发,需要前端开发人员和客户端开发人员配合完成. hybrid存在价值 可以快速迭代更新(无需app审核,思考为何 ...
- 基于python+django的求职招聘网站-网上招聘管理系统设计与实现
该系统是基于python+django的求职招聘网站.网上招聘管理系统.网上人才招聘系统.毕业生求职招聘系统.大学生求职招聘系统.校园招聘系统.企业招聘系统.系统适合场景:大学生.课程作业.毕业设计. ...
- P1914 小书童——凯撒密码
1.题目介绍 小书童--凯撒密码 题目背景 某蒟蒻迷上了 "小书童",有一天登陆时忘记密码了(他没绑定邮箱 or 手机),于是便把问题抛给了神犇你. 题目描述 蒟蒻虽然忘记密码,但 ...
- 使用Swagger,在编写配置类时报错Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.getPatterns()" because "this.condition" is null
1.问题 Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet. ...
- 【rt-thread】SConscript文件添加格式必须是4空格开头
SConscript文件添加格式必须是4空格开头,TAB或其他数量的空格均错误
- .net core 3.0 获取 IServiceProvider 实例
.net core 3.0后,获取IServiceProvider需要绕点弯路 首先,新建一个类: public class MyServiceProviderFactory : IServicePr ...
- CAP-BASE
- [转帖] Linux命令拾遗-使用blktrace分析io情况
https://www.cnblogs.com/codelogs/p/16060775.html 原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 一般来说,想检 ...