学员笔记连载,第3天,流程控制语句
toyiye 2024-09-12 21:00 6 浏览 0 评论
引用类型的使用
java提供的类的使用
- 导包,import 包名.类名;
- 创建对象,也是定义变量并赋值
- 数据类型 变量名 = new 数据类型();或者
- 数据类型 变量名;
- 变量名 = new 数据类型();
- 调用方法,变量名.方法名();
随机调取数:Random
double nextDouble() 生成一个随机小数 【0,1)
int nextInt(int max ) 生成一个随机整数 【0,max)
int nextInt (int max ) +1 生成一个随机整数 【1,max)
Random r = new Random();
double d = r.nextDouble(); // 生成【0,1)的随机小数
int i1 = r.nextInt(200); // 生成0——199的随机整数
int i2 = r.nextInt(200)+1; // 生成 1——200 的随机整数
int i3 = r.nextInt(900)+100;// 生成100-999的整数
System.out.println(d);
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
结果:
0.4156196015182372
71
134
845
键盘录入:Scanner
- 导包,位于 java.util 包下 (格式 import 包名.类名)这行语句要写在定义类的语句之上
- 创建一个Scanner的对象【Scanner 变量名 = Scanner(System.in)】
- 使用Scanner对象获取键盘录入的信息
获取int值: 对象名.nextInt();
获取小数值: 对象名.nextDouble();
获取布尔值: 对象名.next.Boolean();
获取字符串: 对象名.next.Line(); next( );
没有nextChar这个方法
4.注意事项
如果程序中除了使用nextLine以外,还使用了其他的nextInt...方法
如果nextLine方法在最后录入,就会导致该字段无法录入进去。
解决方法
① 把nextLine 放到 最上面(nextXXX 方法之上)
② 使用next
/**
阻塞式方法,nextLine的例子
*/
import java.util.Scanner;//导包
public class Demo01_Scanner{
public static void main(String [] args){
Scanner sc = new Scanner (System.in);//定义变量并赋值
System.out.println("请输入您的年龄");
int age = sc.nextInt();
System.out.println("请输入您的身高");
double height = sc.nextDouble ();
System.out.println("请输入您的名字");
String name = sc.next();//原来是String name = sc.nextLine,就会导致名字还没有输入就出了结果
System.out.println("你好,"+name+",原来你已经"+age+",身高"+height);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您想创建的名称");
String name = sc.next();
System.out.println("请输入您的年龄");
double age = sc.nextDouble(); // 这里可以输入整数,会自动类型提升
System.out.println("请输入您的账号");
int i = sc.nextInt();
System.out.println("恭喜"+name+"您的账号已创建成功,"+"年龄是"+age+"身高"+i+","+"欢迎来到这个世界莉莉");
}
结果:
请输入您想创建的名称
莉莉
请输入您的年龄
18
请输入您的账号
123
恭喜莉莉您的账号已创建成功,年龄是18.0身高123,欢迎来到这个世界
java只识别语法
java只识别语法格式是否错误,不识别变量的值
// java识别常量的true
int a;
if(true){
a = 10;
}
System.out.println(a); // a=10,true是常量
// java 识别不了变量的值
int a;
boolean b = true;
if(b){
a = 10;
}
System.out.println(a); // 会报错,可能尚未初始化a;
流程语句
概述
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
顺序结构
public static void main(String[] args){
//顺序执行,根据编写的顺序,从上到下运行
System.out.println(1);
System.out.println(2);
System.out.println(3);
}
判断语句
if语句
概述:if的条件是一个范围或者具体的,条件输出的结果之鞥你是布尔的结果 | |||
类型 | 格式 | 含义 | 注意事项 |
单条件判断 | if (条件){语句} | 如果满足条件则执行语句,如果不满足则不执行 | 1.需要注意变量的作用域范围2.if 语句可以省略大括号 |
互斥条件判断 | if(关系表达式) { 语句体1;}else { 语句体2;} | 如果满足表达式则执行语句1,否则执行语句2 | |
多条件判断 | if (判断条件1) { 执行语句1;} else if (判断条件2) { 执行语句2;}...}else if (判断条件n) { 执行语句n;} else { 执行else语句;} | 满足哪个条件就执行对应的语句,如果都不满足就执行else语句(各条件也是互斥的) |
/**
if语句
*/
public class Demo_If {
public static void main (String [] args){
int age = 18;//单条件判断
if (age>=18)
System.out.println("你已经成年了");//执行语句只有一句话时,大括号可以省略
char sex = '人';//互斥条件判断
if (sex == '男')
System.out.println("你是男人");
else
System.out.println("不确定");
double score = 98.9;//多条件判断
if (score >= 90 && score <= 100)
System.out.println("成绩优秀");
else if (score >=70 && score <90)
System.out.println("成绩良好");
else if (score >= 60 && score < 70)
System.out.println("成绩及格");
else
System.out.println("不及格");
}
}
Switch语句
Switch 选择结构,主要运用于几个值中选择一个
Switch 格式 Switch (变量){
case 值1;//有可能的情况是
语句1;
break;//中断的意思
case 值1;
语句1;
break;
。。。。。
default;//默认值的意思
默认语句;
break;
}
import java.util.Scanner;
public class test_switch_01 {
public static void main (String [] args)
{
Scanner sc = new Scanner (System.in);
System.out.println("请输入数字(1 7):");
int num = sc.nextInt();
switch (num)
{
case 1 ;
System.out.println("星期一");
break;
case 2 ;
System.out.println("星期二");
break;
case 3 ;
System.out.println("星期三");
break;
case 4 ;
System.out.println("星期四");
break;
case 5 ;
System.out.println("星期五");
break;
case 6 ;
System.out.println("星期六");
break;2
case 7 ;
System.out.println("星期七");
break;
default:
System.out.println("输入错误");
break;
}
}
}
注意事项:
- switch 小括号中的数据 的数据类型,只能是byte short int char JDK1.5之后可以使用枚举,JDK1.7之后可以使用String
- case 只在第一次判断时生效,之后就相当于没有case了,如果不写break ,代码会自动向下执行,不再判断case,直到运行遇到break 或者大括号结束,这种情况称之为case穿透
循环语句
For 循环
- 循环:就是一段代码反复执行
- 循环的四个要素
- 初始化表达式:定义一个变量 用来记录初始的次数
- 布尔表达式:循环的出口 循环的判断条件
- 步进表达式:循环的变量 每次都与偶啊进行变化
- 循环体:在循环中要执行的内容
- for循环格式
for (初始化表达式1;布尔表达式2;步进表达式3){循环体4}
就是以124 324 324........一直到2不满足条件才结束循环
public class Demo_For{
public static void main (String [] args)
{
for (int = 1;i <= 10;i += 1){
System.out.println("hello world"+i);
}
}
}
- for循环注意事项,1234均可以为空
- 当1为空时,并不是真的没有初始化表达式,而是初始化表达式可以定义在循环外边,需要注意变量的作用域范围
- 当2为空时,是一个布尔结果相当于true的死循环,会一直循环下去。
- 当3为空时,第一种就是没有步进表达式,且是一个死循环;第二种将步进表达式定义在循环体中
- 当4为空时,循环体为空,没有任何意义
for (int i = 0; i < 5; i++) {
System.out.println("你好 java"+i);
}
System.out.println("-------------------");
// 练习1:打印1-100之间的所有偶数,余数为0
for (int i = 1; i <= 100; i++) {
if(i % 2 == 0)
System.out.println(i);
}
System.out.println("-----------------");
// 练习2:求1-100所有数的和
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum+=i;
}
System.out.println(sum); // 5050
System.out.println("-----------------------");
// 练习3:求100-999的所有奇数的和
int sum1 = 0;
for (int j = 100; j < 1000; j++) {
if(j % 2 == 1)
sum1 += j;
}
System.out.println(sum1); // 247500
While 循环
- while循环格式
初始化表达式1;
while (布尔表达式2){
循环体4;
步进表达式3
}
PS:就是以1 243 243 243.。。。。一直到2不满足条件才结束循环
- 不明确循环几次一般使用while循环
public class DemoWhile{
public static void main (String [] args){
//打印100内的整数
int i = 1;
while (i <= 100){
System.out.println(i);
i++;
}
}
}
//随机数,直到50跳出循环
import java.util.Random;
public class DemoWhile{
public static void main (String [] args){
Random r = new Random();
int num = 0;
while ((num = r.nextInt(100)) = 50){
System.out.println (num);
}
}
}
- 注意事项:
注意初始化表达式的作用域范围
布尔表达式为true,就是一个死循环
Do While 循环
- 格式
初始化表达式1;
do{
循环体2;
步进表达式3;
}while(布尔表达式4);
1 234 234 234.。。。。。 一直到4不满足为止
do while 循环,无论是否满足条件 都必须先执行一次
//打印10次hello world
public class DemoDowhile{
public static void main(String [] args){
int i = 1;
do {
System.out.println("hello world" + i);
i++;
}while (i <=10);
}
}
//一般也不用dowhile 得知道
break和continue
关键字-break:只能在循环或者是switch 语句中使用,表示的是完全中断不再运行
不能跨级跳出
关键字-continue:只能在循环内部使用,不完全中断,结束当前循环,继续下一次循环
// break 完全中断
for (int i = 0; i < 5; i++) {
if(i==2)
break;
System.out.println(i); // 0,1;到2就跳出循环了
}
// continue 不完全中断
for (int j = 0; j < 5; j++) {
if(j==2)
continue;
System.out.println(j); // 只有2不打印,打印0,1,3,4
}
标记语句跳出
import java.util.Scanner;
public class test_switch_01 {
public static void main (String [] args)
{
Scanner sc = new Scanner (System.in);
System.out.println("请输入数字(1 7):");
int num = sc.nextInt();
abc://意思就是把switch标记为abc
switch (num)
{
case 1 ;
System.out.println("星期一");
break;
case 2 ;
System.out.println("星期二");
break abc;意思就是从这里跳出去到abc
case 3 ;
System.out.println("星期三");
break;
case 4 ;
System.out.println("星期四");
break;
case 5 ;
System.out.println("星期五");
break;
case 6 ;
System.out.println("星期六");
break;2
case 7 ;
System.out.println("星期七");
break;
default:
System.out.println("输入错误");
break;
}
}
}
练习-Scanner+if
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入1-7任意一个整数");
int num = sc.nextInt();
if(num == 1)
System.out.println("星期一(");
else if(num == 2)
System.out.println("星期二");
else if(num == 3)
System.out.println("星期三");
else if(num == 4)
System.out.println("星期四");
else if(num == 5)
System.out.println("星期五");
else if(num == 6)
System.out.println("星期六");
else if(num == 7)
System.out.println("星期日");
else
System.out.println("输入的数字不再范围内");
}
练习-Scanner-switch
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份(1-12)");
int num = sc.nextInt();
switch (num){
case 1:
case 2:
case 12:
System.out.println("是冬季");
break;
case 3:
case 4:
case 5:
System.out.println("是春季");
break;
case 6:
case 7:
case 8:
System.out.println("是夏季");
break;
case 9:
case 10:
case 11:
System.out.println("是秋季");
break;
default:
System.out.println("你输入的数字不在范围内,请重新输入");
break;
}
练习-循环嵌套-九九乘法表
外循环控制行数,内循环控制列数
// 1.打印一个三行三列的矩形
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print("*"); // 注意这里不能换行
}
System.out.println();
}
System.out.println("-----------------");
// 2.打印一个四行的直角三角形
for (int a = 0; a < 4; a++) {
for (int b = 0; b <= a; b++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("---------");
// 3.打印九九乘法表,打印的时候,先打印内循环的,再外循环的
for (int c = 1; c <= 9; c++) {
for (int d = 1; d <= c; d++) {
System.out.print(d+"*"+c+"="+d*c+"\t");
}
System.out.println();
}
练习-综合练习
只有五次猜题的机会
public class Test2 {
public static void main(String[] args) {
Random r = new Random();
int gussNum = r.nextInt(100)+1;
Scanner sc = new Scanner(System.in);
for (int i = 4; i >= 0; i--) {
System.out.println("请输入一个1-100的任意整数,注意您只有5次猜对的机会");
int putNum = sc.nextInt();
if(putNum>gussNum)
System.out.println("sorry,您猜大了");
else if(putNum<gussNum)
System.out.println("sorry,您猜小了");
else
System.out.println("恭喜您,答对了");
System.out.println("请注意您剩余的机会还有:"+i+"很遗憾");
}
}
}
相关推荐
- 为何越来越多的编程语言使用JSON(为什么编程)
-
JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...
- 何时在数据库中使用 JSON(数据库用json格式存储)
-
在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...
- MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)
-
前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...
- JSON对象花样进阶(json格式对象)
-
一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...
- 深入理解 JSON 和 Form-data(json和formdata提交区别)
-
在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...
- JSON 语法(json 语法 priority)
-
JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...
- JSON语法详解(json的语法规则)
-
JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...
- MySQL JSON数据类型操作(mysql的json)
-
概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...
- JSON的数据模式(json数据格式示例)
-
像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...
- 前端学习——JSON格式详解(后端json格式)
-
JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...
- 什么是 JSON:详解 JSON 及其优势(什么叫json)
-
现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...
- PostgreSQL JSON 类型:处理结构化数据
-
PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...
- JavaScript:JSON、三种包装类(javascript 包)
-
JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...
- Python数据分析 只要1分钟 教你玩转JSON 全程干货
-
Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...
- 比较一下JSON与XML两种数据格式?(json和xml哪个好)
-
JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- r语言矩阵 (127)
- browsererror (114)
- exportexcel (119)
- cv2.bitwise_not (137)
- dump命令 (128)
- es6concat (126)
- heapify (127)
- java.security.egd (130)
- javax.annotation (117)
- jsstringsplit (117)
- js数字 (115)
- maven编译 (132)
- mysqlleft (128)
- nodejsbuffer (149)
- org.apache.commons.httpclient (126)
- org.jsoup (141)
- org.springframework.web (128)
- robotframework-ride (115)
- setnocounton (141)
- socket.gethostbyname (122)
- sqlmid (121)
- time.strptime (133)
- vscode格式化 (125)
- win32con (129)
- window.localstorage (126)