java寒假复习day3
5.1顺序控制
中间没有任何判断和跳转
5.2分支控制
单分支 与C一致
if(条件表达式)
{ 语句 }
双分支 与C一致
if(条件表达式)
{ 语句 }
else
{ 语句 }
多分支 与C一致
if(条件表达式)
{ 语句 }
else if
{ 语句 }
else if
{ 语句 }
……
else
{ 语句 }
switch分支结构 与C一致
switch(表达式){
case 常量1: 语句;
case 常量2:语句;
……
case 常量n:语句; break;
default :语句;
}
break表示退出switch
如果一个都没有匹配上,执行default
细节
表达式类型应与case后面的类型一致,或者可以自动转换成相互比较的类型
case子句中的值必须是常量而不能是变量
switch()表达式的返回值必须是(byte,short,int,char,String,enum[枚举])
default是可选的
5.3循环控制
for循环 与C一致基本语法
细节
循环条件是返回一个布尔值的表达式
分号不能省略
循环初始值可以有多条初始化的语句,但要求类型一样
while循环 与C一致基本语法
细节
循环条件是返回一个布尔值的表达式
先执行,再判断
do while循环 与C一致基本语法
先执行后判断,至少执行一次
最后要有一个分号
5.4 break;continue;return
略
6.1数组
介绍
数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型
数组的定义
数据类型 数组名[ ] = new 数据类型[大小]
数据类型[ ] 数组名 = new 数据类型[大小]
动态初始化的第一个方法
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double scores[]=new double[5];
Scanner myScanner = new Scanner( System.in);
for (int i=0;i <scores.length;i++){
System.out.println("请输入第"+(i+1)+"个元素");
scores[i]=myScanner.nextDouble();
}
for (int i=0;i <scores.length;i++){
System.out.println("请输入第"+(i+1)+"个元素="+scores[i]);
}
}
}
第二种动态初始化的方法
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double scores[];//声明一个数组
scores = new double[5];//分配空间
Scanner myScanner = new Scanner( System.in);
for (int i=0;i <scores.length;i++){
System.out.println("请输入第"+(i+1)+"个元素");
scores[i]=myScanner.nextDouble();
}
for (int i=0;i <scores.length;i++){
System.out.println("请输入第"+(i+1)+"个元素="+scores[i]);
}
}
}
静态初始化
int a[]={2,78,57,35,64,85};
数组使用细节
数组是多个相同类型的组合
数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不是混用
数组创建之后,如果没有赋值,有默认值 int 0.short 0;byte 0;long 0,float 0.0; double 0.0 ,char \u0000,boolean false, String null
数组下标是从0开始的
数组必须在指定范围内使用
数组属引用类型,数组型数据是对象