Java基础回顾_第二部分

Java流程控制

Scanner对象(扫描器,捕获输入)

import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
System.out.println("使用nextLine方式接收:");//以回车和回车为结束符
if (scanner.hasNextLine()){
//使用nextLine方式接收
String str2 = scanner.nextLine();
System.out.println("输出的内容为:"+str2);
} System.out.println("使用next方式接收:");//以空格为结束符
//判断是否还有输入
if (scanner.hasNext()){
//使用next方式接收
String str = scanner.next();
System.out.println("输出的内容为:"+str);
} scanner.close();
}
}

个人总结:

Scanner对象有两个方法next()nextLine()

  1. next()输入是,只要输入了有效字符之后,输入空格就会使后续输入的字符失效,例如输入hello空格world,输出结果就只有hello;且如果一开始就输入空格,next()方法会自动无视,不影响后续输入有效字符。
  2. nextLine()输入是,不用管什么时候输入的空格或字符都有效,输入多少显示多少。只会在按回车键的时候结束输入。

自用练习题:

  • 输入多个数字,求它们的总数与平均数,每输入一个数字就用回车确认一遍,当输入数据不是数字时,结束并输出结果。
import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); double sum = 0;//作为求和变的变量
int m = 0;//作为记录输入数字个数的变量 System.out.println("请输入任意个数字,并输入一个非数字的字符来结束输入:");
//while循环语句
while (scanner.hasNextInt()){
double i = scanner.nextInt();//用来记录每次输入的数字
m++;
sum+=i;
}
System.out.println("输入了"+ m + "个数字");
System.out.println("它们的总数为:"+ sum);
System.out.println("它们的平均数为:"+ sum / m); scanner.close();
}
}

顺序结构

  • 顺序结构是Java最简单的算法结构。即代码从上往下,一句一句执行。

  • 选择结构:if语句、switch多选择结构

if语句

  • if单选 结构 只有iif和执行语句

  • if双选 结构 有if和else 两条执行语句

  • if多选 结构 有一个if和多个else if 多条执行语句

  • 嵌套 的if结构

import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入任意内容:"); if (scanner.hasNextInt()){
System.out.println("你输入的是整数~");
}
else{
System.out.println("你输入的不是整数");
} String s = scanner.nextLine();
if (s.equals("abc")){
System.out.println("你猜中了!");
}
else {
System.out.println("你猜错了!");
}
scanner.close();
}
}

switch多选择结构(匹配机制)

import java.util.Scanner;

public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入任意内容:");
String str = scanner.nextLine();
switch (str){
case "A":
System.out.println("A等");
break;
case "B":
System.out.println("B等");
break;
case "C":
System.out.println("C等");
break;
case "D":
System.out.println("D等");
break;
case "E":
System.out.println("E等");
break;
default:
System.out.println("补考");
}
}
}


循环结构

  • while循环---------------------->先判断布尔表达式,后执行代码
  • do...while循环---------------->先执行代码,后判断布尔表达式(执行代码至少执行一次)
  • for循环
  • 增强for循环

while循环

格式:

while(布尔表达式){

//执行的代码;

}

public class Demo01 {
public static void main(String[] args) {
int i = 0;
while (i<10){
i++;
System.out.println(i);
}
}
}

do...while循环

格式:

do{

//执行的代码;

}while(布尔表达式);

public class Demo01 {
public static void main(String[] args) {
int i = 0;
do {
i++;
System.out.println(i);
}
while (i<10);
}
}

for循环

格式:

for(初始化值 i ;布尔表达式;i 值更新){

//执行代码;

}

public class Demo01 {
public static void main(String[] args) { int i = 1;
for (i = 1;i<10;i++){
System.out.println(i);
}
System.out.println(i);//10----->布尔表达式为假的时候跳过执行代码,还会执行一次 i++;所以最后i变成了10!
}
}

练习题:

  1. 分别计算1到100之间奇数的和、偶数的和。
  2. 分别用while和for循环,输出1到1000之间能被5整除的数,并且每行输出三个数。
  3. 打印九九乘法表

  1. 分别计算1到100之间奇数的和、偶数的和。
  public class Demo01 {
public static void main(String[] args) { int i = 1;
int sum1 = 0;//奇数和
int sum2 = 0;//偶数和
for (i = 1;i<=100;i++){
if (i%2==0){
sum1 += i;
}else{
sum2 += i;
}
}
System.out.println("最后i的值为:"+i);
System.out.println("1到100,奇数和为:"+sum1);
System.out.println("1到100,偶数和为:"+sum2);
}
}

  1. 分别用while和for循环,输出1到1000之间能被5整除的数,并且每行输出三个数。

    while方式
public class Demo01 {
public static void main(String[] args) { int i = 1;
int j = 0;
while (i<=1000){
if(i%5 == 0){
System.out.print(i+"\t");
j++;
if (j%3 == 0){
System.out.print("\n");
}
}
i++; }
}
}

for方式

public class Demo01 {
public static void main(String[] args) { int j = 0;
for(int i = 1;i<=1000;i++){
if(i%5 == 0){
System.out.print(i+"\t");
j++;
if (j%3 == 0){
System.out.print("\n");
}
} }
}
}

  1. 打印九九乘法表

个人思路:先打印出所有相乘的式子,然后观察99乘法表规律进行如下操作。

public class Demo01 {
public static void main(String[] args) { for(int i = 1;i<=9;i++){
for (int j = 1;j<=9;j++){
//去掉乘号左边数字大于右边数字的式子,用空格代替显示-------->第三步
if (j>i){
System.out.print("\t");
}else {
System.out.print(j+"*"+i+"="+i*j+"\t");//----->第一步打印出所有式子
}
//j是乘号右边的数,每次乘到9的时候换行------->第二步
if(j==9){
System.out.print("\n");
}
}
}
}
}

改进后的思路:

public class Demo01 {
public static void main(String[] args) {
for(int i=1;i<=9;i++){
//用j<=i控制每一行输出的式子个数(妙啊!!!!!!!!!)
//通过循环累加,当j>i的时候跳出循环,从而不会打印 乘号左边的数字大于乘号右边的数字 的等式,妙啊!
for (int j=1;j<=i;j++) {
System.out.print(j + "*" + i + "=" + i * j + "\t");
}
//j>i时,跳出上面的for循环不打印 乘号左边的数字大于乘号右边的数字 的等式,直接执行下面的换行代码,妙啊!
//这样又去掉了想要去掉的 重复等式(类似1*2=2和2*1=1这样的重复等式) ,又达到了换行的效果,绝了!
System.out.print("\n");
}
}
}

增强for循环

格式:

for(声明语句:表达式){

​ //执行代码;

}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

经常用于遍历数组

public class Demo01 {
public static void main(String[] args) {
//定义一个数组取名为List
int[] List = {1,2,3,4,5};
for (int i : List) {
System.out.println(i);
}
}
}


break和continue

break用与强制退出循环体,即终止循环,跳出循环体;

continue用于终止循环体的某一次循环,即跳过某一次循环操作循环体继续工作到直到跳出循环体。

随笔:

​ 什么是质数

质数是指在大于1的所有自然数中,那些只能被1和本身整除的整数。

​ 一个数如果不能以它本身的一半以内的数乘以另一个数得到,那么它就是一个质数!


流程控制练习

  1. 打印三角形

    public class Demo01 {
    public static void main(String[] args) {
    //打印三角形
    for (int i = 1; i <= 5; i++) {
    for (int j = 5; j >=i; j--) {
    System.out.print(" ");
    }
    for (int j = 1; j <=i; j++) {
    System.out.print("*");
    }
    for (int j = 1; j <i; j++) {
    System.out.print("*");
    } System.out.print("\n");
    }
    }
    }


Java基础回顾_第二部分_Java流程控制的更多相关文章

  1. Java基础回顾_第一部分

    Java基础回顾 基本数据类型 数值类型 什么是字节? 位(bit):是计算机中数据的最小单位 字节(byte):是计算机中数据处理的基本单位,习惯上用大写字母B来表示 1 B = 8 bit 字符: ...

  2. 四、Android学习第四天——JAVA基础回顾(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 四.Android学习第四天——JAVA基础回顾 这才学习Android的 ...

  3. 【Spring学习】【Java基础回顾-数据类型】

    Java基础回顾过程中,之前对于Java相关基础知识都是从这个人的博客看一些,那边的内容看一下,觉得不够系统化,决定用xmind脑图的形式,将Java基础知识回顾的作为一个系列,当前正在做的会包含: ...

  4. Java基础(Scanner、Random、流程控制语句)

    第3天 Java基础语法 今日内容介绍 u 引用数据数据类型(Scanner.Random) u 流程控制语句(if.for.while.dowhile.break.continue) 第1章 引用数 ...

  5. 1、java基础回顾与加强

    一.    基础回顾 1   集合 1.1  集合的类型与各自的特性 ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList:    数组实现, ...

  6. Java学习之旅基础知识篇:数据类型及流程控制

    经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...

  7. JAVA:变量,数据类型,运算符,流程控制(简介)<1>

    一.安装和配置jdk 1.jdk是什么? (1).jdk全称是Java Development Kit, Java开发工具包; (2).jdk是sun公司开发的; (3).jdk主要包括:jre(Ja ...

  8. JavaScript 基础(数据类型、函数、流程控制、对象)

    一.JavaScript概述 1.1 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名Script ...

  9. java面向对象编程—— 第三章 程序流程控制

    3.1流程控制 三种基本技术可以改变程序的控制流程: ①   调用方法:调用方法将导致控制流程离开当前方法,转移到被调用的方法: ②   选择:java中有两种做出选择的机制:if/else语句和sw ...

随机推荐

  1. SVG 与 Canvas 对比

    SVG 与 Canvas 对比 技术选型 SVG vs Canvas 应用场景 性能 GPU 加速 XML 数据存储 Canvas 2D Canvas 3D WebGL / OpenGL ES thr ...

  2. Chrome DevTools & Slow 3G Network

    Chrome DevTools & Slow 3G Network shortcuts https://developers.google.com/web/tools/chrome-devto ...

  3. Dart 编写Api弃用警告

    例如body2在以后的版本将被bodyText1代替 @Deprecated( 'This is the term used in the 2014 version of material desig ...

  4. 如何在ASP.NET Core中编写高效的控制器

    ​通过遵循最佳实践,可以编写更好的控制器.所谓的"瘦"控制器(指代码更少.职责更少的控制器)更容易阅读和维护.而且,一旦你的控制器很瘦,可能就不需要对它们进行太多测试了.相反,你可 ...

  5. 文字链接Link

    效果展示: 代码展示: <el-table-column label="引流扫码人数" align="center"> <template s ...

  6. C++教程01:计算机系统的组成

    教程首发 | 公众号:lunvey 学习C++之前,需要先了解一点基础的计算机知识.毕竟C++是跑在计算机系统上的,我们写的程序都是一段段的指令集. 首台计算机ENIAC问世之后,缺少原理指导.冯诺依 ...

  7. AntDesign Pro + .NET Core 实现基于JWT的登录认证

    很多同学说AgileConfig的UI实在是太丑了.我想想也是的,本来这个项目是我自己使用的,一开始甚至连UI都没有,全靠手动在数据库里修改数据.后来加上了UI也是使用了老掉牙的bootstrap3做 ...

  8. CCF(元素选择器:50分):字符串+模拟

    元素选择器 201809-3 这里我只考虑了没有后代选择器的情况 #include<iostream> #include<cstdio> #include<cstring ...

  9. JDBC 连接池 & Template

    数据库连接池 # 概念:其实就是一个容器(集合),存放数据库连接的容器. * 当系统初始化号以后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容其中获取连接对象,用户访问完之后,会将 ...

  10. Java 常见对象 01

    常见对象·Object类 Object类的概述 * A:Object 类概述 * 类层次结构的根类 * 所有类都直接或间接地继承自该类 * B:构造方法 * public Object() * 回想为 ...