一、java程序结构
1、java包的概念
package语句:包语句,每个文件最多只有一个,且必须放在文件开始的地方。 import语句:引入语句,可以没有,也可以有多个,如果有 import语句的话,必须放在所有类定义的前面。 类定义:每个文件中包含的非public权限的类定义的个数没有限制。 接口定义:每个文件中包含的接口定义个数没有限制。 包的概念包是类的容器, 包的设计人员利用包来划分名字空间,以避免类名冲突。 引入时包与包下边的包用.分隔
2、流程控制
流程控制语句又分赋值语句、分支语句、循环语句和跳转语句。 赋值语句: customerl = new Customer() ;//赋值语句 x = 12;//表达式语句 x ++ ;//表达式语句 分支语句 分支语句根据一定的条件,动态决定程序的流程方向,从程序的多个分支中选择一个或几个来执行。分支语句有if语句 和 switch语句两种,先看下if语句的形式
public class Control{
public static void main(String[] args){
int a = 3;int b=5;
if(a>b){
System.out.println(a);//语句1
}
else{
System.out.println(b);//语句2
}
}
if 关键字之后的条件表达式必须得到一个逻辑值,if语句的含义是:当条件表达式结果为true时 ,执行语句1,然 后 继 续 执 行 if 后面的语句 ;当条件表达式为false时 ,如果有else子句 ,则执行语句2 ,可以没有else语句,如果没有则跳过该if语句,继续执行后面的语句 if语句可以嵌套使用,if中还可以写if判断 switch语句 switch case语句如下: switch(表达式){ case 选择值1:程序代码块1; case 选择值2: case 选择值3:程序代码块2;break; … case 选择值n:程序代码块n;break;//break语句可选 default:程序代码块; } switch语句的语义是:计算表达式的值,用该值依次和1, 2 , … ,n相比较。如果该值等于其中之一 switch语句有以下注意几点: □switch语句中不能忘记break,否则会有贯穿现象。 □switch的应用有所限制,其表达式只能应用于int,char swich语句示例
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字");
int day = scanner.nextInt();
switch (day) {
case 1:System.out.println("今天是星期一");break;
case 2:System.out.println("今天是星期二");break;
case 7:System.out.println("今天是星期日");break;
default:
System.out.println("抱歉,请重新输入");
break;
}
}
循环语句 循环语句的作用是反复执行一段代码,直到不满足循环条件为止。Java语言提供3种循环语句,分别是for语句、while语句和do语句。 for语句的语法格式是: for( 初始语句; 条件表达式; 迭代语句){ 循环体语句; } for语句的语义是:先执行初始语句,判断条件表达式的值,当条件表达式为真时,执行循环体语句,再执行迭代语句,然后去判别条件表达式的值。 for循环示例
public static void main(String[] args){
for(int i =1;i<=10;i++){
System.out.println(i);
}
}
//该程序总共执行10,每次输出i的值,当i=11时,循环条件为假,循环结束,如果条件表达式的值永远为真,则循环会无限制地执行下去,直到系统资源耗尽为止。
while语句 当程序中不能明确地指明循环的执行次数时,可以仅用条件表达式来决定循环的执行与否。
public static void main(String[] args){
int a=1;
int b=2;//初始化部分
while(a<b){//a<b为循环条件
a=a+2; //循环体
}
System.out.println(a+b);
}
*如果a<b为false,循环体将一次不执行,如果a的值不变,此循环为死循环。
do语句 do语句的语义是:首先执行循环体语句,然后判定条件表达式的值,当值为真时,重复执行循环体语句,直到表达式的值为假时结束循环。
public static void main(String[] args){
int a=1;
int b=4;//初始化部分
do{
a=a+2;
}
while(a>b);
System.out.println(a+b);
}
*不论条件是否成立,do中的循环体都会运行一次。
跳转语句 breack break语句可用于3类语句中,第一类是在switch语句中,第二类是在for、while及do等循环语句中,第三类是在语句块中。在switch语句及循环语句中,break的语义是跳过本块中余下的所有语句。可以和标号一起使用。 从循环语句或标识语句中退出
public static void main(String[] args)
for(int i = 1;i<=10;i++){
if(i==3){
break;//如果i等于3跳出循环
}
System.out.println(i);
}
}
如果是多层循环,break就终止当前循环以及包括的循环。
continue continue语句可以立即结束当次循环,开始执行下一次循环,当然执行前要先判断循环条件是否满足. 跳过本次循环执行下一次循环
// A code block
var foo = 'bar';
3、输入输出
输入-Scanner类: Scanner scan = new Scanner( System. in); 创建了一个变量scan ,它代表一个Scanner对象。对象本身由new运算符来创建 ,并调用构造方法来建立对象。Scanner类的构造方法接收一个参数,这个参数代表了输入源。System. in 对象代表标准输入流,默认是指键盘。 nextLine( )方法读入当前行的所有输入
public static void main(String[] args) {
String message;
Scanner scan = new Scanner(System.in);
// 创建从键盘输入的对象
System.out.println(" Enter a line of text:");
message = scan.nextLine();//从键盘读入一行
System.out.println("You entered:"+message);
}
读入数值数据示例
public static void main(String[] args){
int age;
double weight,height,bmi;
Scanner scan = new Scanner(System.in);
// 创建从键盘输入的对象
System.out.print("请输入您的年龄:");
age = scan.nextInt();
//从键盘读入一个int型数据
System.out.print("请输入您的体重( 公斤):");
weight = scan.nextDouble();
// 从键盘读入一个 double 型数据
System.out.print("请输入您的身高(米):");
height = scan. nextDouble ();
bmi = weight/( height * height);
System.out.println("BMI:"+bmi);
}
```