Java--程序结构&&输入输出

1.程序结构

(1)顺序结构:按照代码的书写顺序一行行的执行,称之为顺序结构(多线程不一定)。eg:

(2)分支结构:(条件分支-->满足不同的条件才会执行的代码)

1》  if分支

if(表达式){

//表达式为true执行的语句
}

2》  if...else分支

if(布尔表达式){

//条件满足的语句

}else{

//条件吧满足的语句

}

3》 

if(表达式1){

//表达式1满足的代码

}else  if(表达式2)  {

//表达式2满足的代码

}...else  if(表达式n){

//...

}else{

//上述表达式都不满足执行的代码  }

 PS:程序中若遇到分号,则认为这个语句已经结束了。

4》switch分支:一般用在分支个数确定、根据确定的值选择不同分支的情景下

switch(int、cha、String、枚举){

case1:满足条件1执行的语句

(break;)

case2:满足条件2执行的语句

(break;)

....

case n:  ....

break;

default:上述条件都不满足执行的语句

(break;)

}

----> 先计算表达式的值和第一个case开始,一次进行比较,一旦遇到匹配的值,执行该case的语句,直到遇到break为止。当没有任何case语句与之匹配时,执行default对应的语句。

PS:

a.使用switch的也可以用if,但使用if的不一定可以用switch。switch不支持复杂条件。(if更多的是表达条件的判断)

b.多个case语句中的常量值不能重复的(每个分支要保证其独立性和唯一性)。

c. switch只支持int char String enum,不支持long与浮点型。小于int的类型byte char short也可以,具体存储都按照int存储。

d. break千万不能省略,否则会造成歧义(但是语法层面没问题),否则就会从满足条件的第一个分支开始向下执行,一直碰到break为止或者走到结尾。

e.支持嵌套,但不推荐。

(3)循环结构: 

1》while语句:只知道循环的终止条件,不明确循环次数,适合这种场景。

while(循环条件表达式){

//循环体语句
}

--->  当循环条件为true时,执行循环体语句,否则结束循环。

PS:循环次数不是很直观,但循环的终止条件很明确,在while结构中不太关注循环次数。

PS:关于循环的两个关键字:

break:提前结束当前这一层循环。eg:

continue:结束本轮循环,从continue之后的语句本次循环就不再执行,直接进行下一轮循环。eg:

 2》for循环:明确知道循环的次数以及迭代条件

for(初始化条件表达式1;布尔表达式2或说循环继续条件;循环的迭代条件){

//循环体代码4;

}

---->一直循环,直到不满足表达式2则循环终止。

PS:continue和break也适用for语句。

PS:goto在Java中作为保留字,是个关键字,但是没用。

PS:break和continue都是作用于当前这一层循环的。可以使用标签让break跳出多层循环。eg:

 -->标签outter后面必须紧跟循环 语句,中间不能插入任何其它语句。break+标签会直接跳出标签包含在内的所有循环。

continue标签:会跳转到标签紧跟着的最外层循环继续执行。只会结束当前这一层,相当于之前的简单的break。

2.输入输出

(1)

输入input、输出output  --  IO流

输入流:以电脑为参考系,从外部向程序或电脑输入一个数据。

输出流:从程序或电脑向外部输出一个数据。

系统输入输出  --  标准输入输出

标准输入:显示器System.out是Java中的标准输出对象--系统的标准输出。

标准输出:键盘System.in是Java中的标准输入对象(从键盘获取对象)。

PS:默认输出输出到控制台。

(2)Java中三种常用的输出方法:

1》println(传递任意数据类型,多个类型使用+拼接),输出内容后自带换行符,println()什么都不传,默认当换行输出使用。

2》print(任意数据类型,多个类型使用+拼接)。与 println 的区别是:输出后不带换行;必须要在()传递参数。

3》printf,用法与C语言相同。

 (3)从键盘中读取一个内容--使用Scanner类。最原始的系统输入。

Scanner scanner=new Scanner(System.in);//产生一个系统输入的对象

int  a=scanner.nextInt();//从键盘获取一个数据,假设此时获取整型,nextXXX()表示获取相应的数据类型

String  str=scanner.nextLine();//获取字符串

double  b=scanner.nextDouble(); //获取浮点型

PS1:调用Scanner对象的 hasNextXXX()  方法-->就会判断系统输入的是否是指定类型的内容,若碰到不是相应的类型,循环终止。hasNextXXX() 。

eg:hasNextInt()  --->退出程序:当读取到一个非整数,方法就会返回false,一串字符即可

 PS2:hasNextLine()   --->退出程序:win:ctrl+D或ctrl+Z,mac:command+D

 (4)转义字符

有时在输出时,若想输出一些特殊符号,就需要用到转义字符。在Java代码中的反斜杠(\)是转义字符,因此需要表示字面意义上的\,就需要使用双反斜杠(\\)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值