服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - java程序的基本结构(java对象组成)

java程序的基本结构(java对象组成)

2023-11-09 02:02未知服务器之家 Java教程

java程序的基本结构 一、程序结构 程序的根本结构包括顺序结构、分支结构、循环结构。 顺序结构依照句子的书写次序顺次履行; 挑选结构依据条件是否满意来挑选条件是否满意来履行对应的程序段,Java供给了if和switch句子用来

java程序的基本结构

一、程序结构
程序的根本结构包括顺序结构、分支结构、循环结构。
顺序结构依照句子的书写次序顺次履行;
挑选结构依据条件是否满意来挑选条件是否满意来履行对应的程序段,Java供给了if和switch句子用来开发分支结构的程序;
循环结构在给定条件下重复履行一些程序段,Java语言供给了while、do-while、for句子完成循环结构。
二、分支结构
程序中有些程序段的履行是有条件的,当条件成立时,履行一些程序段,当条件不成立时履行另一些程序段或者不履行,这种程序结构就叫做分支结构,也叫挑选结构。
1、单分支if句子
单一的if句子是最常用的单分支结构,运用一个boolean表达式进行条件判别。假如boolean表达式的值true,表明满意条件,则履行紧跟if句子后{}中的程序段。
CreatedwithRapha?l2.2.0开端布尔表达式要履行的句子完毕yesno
单分支if句子的语法格局如下:
if(布尔表达式){
//假如布尔表达式表达式为true将履行的句子
}
2、双分支句子if…else句子
双分支的if…else句子,运用一个boolean表达式进行判别,假如布尔表达式的值为true,表明条件满意,则履行if句子后边紧跟的{}中的代码块;假如布尔表达式的值为false,表明条件不满意,则履行else后边紧跟的{}中的代码块。
CreatedwithRapha?l2.2.0开端布尔表达式要履行的句子1完毕要履行的句子2yesno
双分支句子if…else句子的语法格局如下:
if(布尔表达式){
//布尔表达式为true时要履行的代码块
}else{
//布尔表达式为false时要履行的代码块
}
条件运算符(三元运算符)也能够完成分支结构java程序的基本结构(java对象组成)
代码示例1:
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intclass1Score,class2Score,maxScore;
System.out.println(“请输入一班的竞赛成果:”);
class1Score=input.nextInt();
System.out.println(“请输入二班的竞赛成果:”);
class2Score=input.nextInt();
if(class1Score>class2Score){
maxScore=class1Score;
}else{
maxScore=class2Score;
}
System.out.println(“优胜班的成果是:”+maxScore);
}
}
代码示例2:
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intclass1Score,class2Score,maxScore;
System.out.println(“请输入一班的竞赛成果:”);
class1Score=input.nextInt();
System.out.println(“请输入二班的竞赛成果:”);
class2Score=input.nextInt();
maxScore=(class1Score>class2Score)?class1Score:class2Score;//运用三元运算符完成双分支结构
System.out.println(“优胜班的成果是:”+maxScore);
}
}
上面的两段代码完成的功能一致,能够看出,当双分支结构中判别条件(布尔表达式)与要履行的句子都比较简单是时运用条件运算符(三元运算符)代码会愈加简练优雅。
3、嵌套的if…else句子
if句子后边紧跟的{}中的代码块中和else后边紧跟的{}中的代码块中,都能够持续嵌套if…else句子,用以完成更复杂的分支结构。
publicclassTest{
publicstaticvoidmain(String[]args){
/*
判别闰年的逻辑:
整百的年份能够被400整除,为闰年,不然不是;其他年份被4整除为闰年,不然不是
*/
Scannerscanner=newScanner(System.in);
System.out.println(“请输入年份:”);
intyear=scanner.nextInt();
if(year%100==0){
if(year%400==0){
System.out.println(year+”是闰年”);
}else{
System.out.println(year+”不是闰年”);
}
}else{
if(year%4==0){
System.out.println(year+”是闰年”);
}else{
System.out.println(year+”不是闰年”);
}
}
}
}
4、多分支if…elseif…else句子
当判别条件比较多时,能够运用多分支if…elseif…else句子。
CreatedwithRapha?l2.2.0开端布尔表达式1履行的句子1完毕布尔表达式1履行的句子3布尔表达式1履行的句子4履行的句子2yesnoyesnoyesno
多分支if…elseif…else句子的语法格局如下:
if(布尔表达式1){
//布尔表达式1为true时将被履行的句子
}elseif(布尔表达式2){
//布尔表达式2为true时将被履行的句子
}elseif(布尔表达式3){
//布尔表达式3为true时将被履行的句子
}else{
//以上分支都没有进入时将被履行的句子
}
publicclassTest{
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
System.out.println(“请输入成果:”);
intscore=scanner.nextInt();
if(score>=90){
System.out.println(“成果为:A”);
}elseif(score>=80){
System.out.println(“成果为:B”);
}elseif(score>=70){
System.out.println(“成果为:C”);
}elseif(score>=60){
System.out.println(“成果为:D”);
}else{
System.out.println(“成果为:E”);
}
}
}
在多分支if…elseif…else句子中,当某一个作为判别条件的布尔表达式回来true时,即进入对应分支,之后其他分支中的布尔表达式不再进行运算,分支中的句子也不会被履行。
在多分支if…elseif…else句子中,elseif句子能够呈现屡次,最后的else句子是可选项。
5、switch句子
switch句子是Java中的多分支结构,switch句子能够依据给定的表达式的值,从多个分支中挑选一个分支来履行。相当于if…elseif…else…,但switch句子的可读性更强。
switch句子的语法格局入下:
switch(表达式){
case常量1:
句子1;
break;
case常量2:
句子2;
break;
[…]
[default:
句子n;]
}
示例:
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
System.out.println(“请输入成果:”);
intscore=scanner.nextInt();
intresult=score/10;
switch(result){
case9:
System.out.println(“成果为:A”);
break;
case8:
System.out.println(“成果为:B”);
break;
case7:
System.out.println(“成果为:C”);
break;
case6:
System.out.println(“成果为:D”);
break;
default:
System.out.println(“成果为:E”);
}
}
说明:
表达式回来的成果的数据类型能够是byte、short、int、enum、String;
case句子能够呈现屡次;
break句子和default句子是可选项;
switch句子首要核算表达式的值,假如表达式的值和那个case后边的常量值持平,就履行该case对应的句子块,直到遇到break为止。假如没有遇到一个常量表达式的值与表达式的值持平,则履行default句子对应的句子块,假如没有default句子switch句子不履行任何操作。
6、综合事例之任意输入一个年份数与月份数,查出这个月有多少天
packagecom.husung.test;
importjava.util.Scanner;
publicclassYear{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.println(“请输入您要查询的年份:”);
intyear=input.nextInt();
System.out.println(“请输入您要查询的月份:”);
intmonth=input.nextInt();
switch(month){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
System.out.println(year+”年”+month+”月有31天”);
break;
case4:
case6:
case9:
case11:
System.out.println(year+”年”+month+”月有30天”);
case2:
if(year%400==0){
System.out.println(year+”年”+month+”月有29天”);
}elseif(year%4==0&&year%100!=0){
System.out.println(year+”年”+month+”月有29天”);
}else{
System.out.println(year+”年”+month+”月有28天”);
}
}
}
}
本例中,嵌套运用了switch句子和if…elseif…else句子,用以判别用户输入的某一具体年月有多少天。
三、循环结构
有些程序段需求在某些条件下重复履行屡次,称为循环结构程序。
Java供给了三种循环句子完成循环结构,包括while循环句子、do-while循环句子、for循环句子;他们的一起特点是依据给定的条件来判别是否持续履行指定的程序段。
1、while循环
while循环首要运用一个布尔表达式进行条件判别,假如布尔表达式的值为true,表明满意条件,则履行while句子后紧跟的{}中的代码块,这代码段即为循环体,循环体履行完之后,再核算布尔表达式进行条件判别,假如boolean表达式的值仍为true,便再次履行循环体,构成循环,当布尔表达式的值为false时,直接履行循环体之后的代码块。
CreatedwithRapha?l2.2.0开端布尔表达式循环体(需求重复履行的句子)完毕yesno
while循环句子的语法格局如下:
while(布尔表达式){
//循环体
}
while循环的特点是先判别再履行。
2、do-while循环
do-while循环与while循环的原理根本相同,不同的是,do-while循环先履行一遍循环体中的代码块,再核算布尔表达式进行条件判别,假如布尔表达式的值仍为true,便再次履行循环体,构成循环;当布尔表达式的值为false时直接履行循环体之后的代码。
CreatedwithRapha?l2.2.0开端循环体布尔表达式完毕yesno
do-while循环句子的语法格局如下表:
do{
//循环体
}while(布尔表达式)
do-while循环的特点是先履行,再判别。
3、for循环句子
for循环句子是程序中运用最多的循环结构,for循环运用三个表达式,分别用来初始化循环变量,判别循环履行条件,以及改变循环变量。
CreatedwithRapha?l2.2.0开端表达式1(初始化循环变量)表达式2(判别循环履行条件)循环体表达式3(通常用来改变表达式的值)完毕yesno
for循环语法的语法格局如下:
for(表达式1;表达式2;表达式3){
//循环体;
}
for循环通常用在已知循环次数的情况下。
下面是一个随机生成五位暗码的示例:
publicclassPassword{
publicstaticvoidmain(String[]args){
Randomrandom=newRandom();
Stringpass=””;
for(inti=0;i<5;i++){
intr=random.nextInt(26);//产生随机数的上限[0~26]
r+=97;//r的值是区间[97,122]内的整数,这个区间的整数与ASCII中的
//小写字母刚好对应。而(char)r将一个整数转换成对应的字符。
pass=pass+(char)r;
}
System.out.println(“pass=”+pass);
}
}
说明:
本例运用Java供给的随机数的生成办法,合作循环一个五次的for循环句子,生成五位长度的随机暗码;
Java中生成随机数的办法的类有两个,一个是java.lang.Math和java.util.Random类;其间java.lang.Math类中供给的Random()办法能够生成一个[0.0~1.0)之间的随机数;类java.util.Random中供给了一系列的办法能够生成指定范围的随机数,如nextInt()、nextDouble()等;
4、break句子
Java中供给了break句子,可用于switch句子或while、do-while、for循环句子,假如程序履行到break句子,立即从switch句子或循环体中退出。
5、continue句子
continue句子用于while、do-while、for句子的循环体中,假如程序履行到continue句子,,则完毕本次循环,回到循环条件处再次进行判别是否履行。
6、多重循环
假如循环句子的循环体中又包括循环句子,称为嵌套循环。被包括的循环称为内循环,包括的循环称为外循环,承建的循环嵌套是二重嵌套和三重嵌套;更多的嵌套由于代码逻辑复杂,应当尽量防止运用。循环嵌套既能够是一种循环自身的嵌套,也能够是不同循环句子彼此嵌套。
示例:九九乘法表
登录后复制
packagecom.husung.test;
publicclassMultiplication{
publicstaticvoidmain(String[]args){
for(inti=1;i<10;i++){
for(intj=1;j<=i;j++){
System.out.print(j+”*”+i+”=”+i*j+””);
}
System.out.println();
}
}
}java程序的基本结构(java对象组成)

java对象组成

JAVA目标保存在内存中时,由以下三部分组成:
1、目标头
2、实例数据
3、目标填充字节
JAVA目标头由以下三部分组成:
1、MarkWord
2、指向类的指针
3、数组长度(只要数组目标才有)

延伸 · 阅读

精彩推荐