IT评测·应用市场-qidao123.com
标题:
JAVA-02(语法介绍)
[打印本页]
作者:
郭卫东
时间:
2023-5-23 10:53
标题:
JAVA-02(语法介绍)
JAVA-02
Java流程控制
用户交互Scanner
Scanner类
属于IO流的类如果不关会一直占用资源
常用方法
【Scanner scanner = new Scanner(System.in);】
.next(); 遇到
空格
就结束接收
.nextLine(); 遇到
enter
就结束接收
.hasNext() 判断是否有输入
.hasNextInt() 判断是否有整数输入
.close();
关闭
举例【instance】
package com.xy.base;
import java.util.Scanner;
public class Demo11 {
public static void main(String[] args) {
//创建一个扫描对象,用于接收键盘数据
Scanner scanner = new Scanner(System.in);
System.out.println("使用next方式接收:");
//判断用户有没有输入字符串
if(scanner.hasNext()){
//使用next接收
String str = scanner.next();
System.out.println("输入的内容为:"+str);
}
System.out.println("使用nextLine方式接收:");
if(scanner.hasNext()){
//使用next接收
String str1 = scanner.nextLine();
System.out.println("输入的内容为:"+str1);
}
System.out.println("请输入一个整数:");
//判断输入的是否为整数【判断是否有整数输入】
if(scanner.hasNextInt()){
int i = scanner.nextInt();
System.out.println("输入的整数为:"+i);
}else{
System.out.println("输入的不是整数!");
}
//凡是属于IO流的类如果不关会一直占用资源
scanner.close();
}
}
复制代码
输入多个数字,并求其总和与平均值,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果
package com.xy.base;
import java.util.Scanner;
public class Demo11_instance {
public static void main(String[] args) {
//输入多个数字,并求其总和与平均值,每输入一个数字用回车确认,通过输入非数字来结束并输出执行结果
int count = 0;
double sum = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数据:");
//while判断是否是数字输入
while (scanner.hasNextDouble()){
count++;
sum = sum + scanner.nextDouble();
}
System.out.println(count + "个数据总和为:" + sum);
System.out.println(count + "个数据平均数为:" + sum/count);
//关闭!!!!!!不要忘记
scanner.close();
}
}
复制代码
三种结构(顺序、选择、循环)
顺序结构
Java
最基本
的结构,
最简单
的算法结构
任何算法都离不开的
一条一条从上到下执行
System.out.println("顺序结构!");
System.out.println("顺序结构!");
System.out.println("顺序结构!");
复制代码
选择结构
1. if单选择结构
if(条件式){
//满足表达式执行的语句
}
复制代码
2. if...else双选择结构
if(条件式){
//满足表达式执行的语句
}else{ //不满足表达式执行的语句}
复制代码
3. if...else if多选择结构
if(条件式1){
//满足表达式1执行的语句
}else if(条件式2){
//满足表达式2执行的语句
}else{
//都不满足执行的语句
}
复制代码
4. 嵌套的if结构
if(条件式1){
if(条件式1){
//满足表达式1和2执行的语句
}
}else{
//不满足表达式1执行的语句
}
复制代码
5. switch多选择结构
语法:
switch(expression){ //expression变量
case value: //【可选】判断变量的值是否等于value值
//语句
break; //【可选】 若不选,会有case穿透效果
case value:
//语句
break;
...
default: //【可选】 以上case都不满足时执行default
//语句
}
复制代码
case穿透效果
:如果
当前case满足且结束没有break语句
,那么将会执行下面所有的case,直到遇见break语句。
switch中的变量类型 :byte、short、int或者char
从
Java SE7
开始
支持字符串String类型
String x = "注意";
switch (x){
case "注意":
System.out.println("注意");
case "协议":
System.out.println("协议");
break;
default:
System.out.println("default");
}
复制代码
循环结构
1. while循环
语法
while(布尔表达式){
//循环内容
}
复制代码
2. do...while循环
语法
do{
//循环内容
}while(布尔表达式);
复制代码
while和do...while的区别
while先判断再执行,do...while先执行在判断
do...while
至少
执行一次,while可以一次也不执行
3. for循环
语法
for(初始化;布尔表达式;更新){
//循环内容
}
复制代码
最有效,最灵活
的循环结构
循环次数
是在执行之前就已经
确定
的
fou循环 :
先初始化
,
在判断真假
,若为
真
则
执行循环体
,
然后更新
;若为假,则跳出循环
for (int i = 0; i < 5; i++) {
System.out.println("i:" + i);
System.out.println("第" + i + "次循环!");
}
复制代码
练习:打印九九乘法表
for(int i = 1 ; i < 10 ; i ++){
for (int j = 1 ; j <= i ; j ++){
//输出乘法并输出一个tab空格
System.out.print(j + "*" +i +"=" + j*i + "\t");
}
//换行
System.out.println(); //等价于 System.out.print("\n");
}
复制代码
动态初始化
int[] num = {10,20,30,40,50};
for(int n:num){
System.out.println(n);
}
复制代码
数组默认初始化
数组是引用类型,他的元素相当于类的实例变量,因此数组在一分配空间时就已经被
默认初始
为相应类型的
默认值
了。
数组的特点
数组一经创建就
长度确定
同一数组元素类型相同
数组中的元素可以是任何数据类型
数组变量属于引用类型,数组也可以看成对象
数组
对象本身是
在堆中
的
Arrays类(import java.util.Arrays)
学会使用官方API帮助文档,这里介绍两个
int i = 0;
while(i < 100){
i++;
if(i == 10){
break;
}
System.out.println(i);
}
复制代码
冒泡排序
int j = 0;
while (j < 10){
j++;
if (j%2 == 0) {
continue;
}
System.out.println(j);
}
复制代码
稀疏数组
定义:当一个数组中大部分元素都为0或同一数据时,可以使用稀疏数组来保存。
处理方式:
记录数组一共有几行几列,有多少个不同值
把具有不同值的元素的行和列以及值记录在一个小规模的数组中,从而缩小程序的规模
public class Demo13_instance {
public static void main(String[] args) {
//规定5行
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.println();
}
}
}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4