这是学习java的第二次总结,希望大家能有所收获
学习三种基本结构之前,让我们先来了解程序框图,也称流程图。
使用以上图形组成的流程图,有利于理清思路。
自上而下执行,不会跳过语句或重复某一句语句。
例:
import java.util.*;
public class BoolTest{
public Ststic void main(String [] args){
int liSi = 80 ;
boolean isBig ;
Scanner input = new Scanner(System.in);
System.out.print("输入学员张三的成绩:");
int zhangSan = input.nextInt();
isBig = zhangSan > liSt ;
System.ou.println("张三成绩比李四高吗?"+isBig)
}
}
该程序输出顺序为:自上而下。
有关if判断的逻辑运算符
运算符 | 汉语名称 | 表达式 | 说明 |
---|---|---|---|
&& | 与、并且 | 条件1&&t条件2 | 两个条件为真,则结果为真;两个条件有一个为假,则结果为假 |
|| | 或 | 条件1||条件2 | 两个条件为真,则结果为真;两个条件同时为假,则结果为假 |
! | 非 | !条件 | 条件为真,则结果为假;条件为假,则结果为真。 |
补充:
进行&&判断时,若前面条件为false,则跳过后面条件的判断。
进行||判断时,若前面条件为true,则跳过后面条件的判断。
这时可以使用非短路元素符号,则可以避免这种情况的发生。
如:短路与 &,短路非 | 。
用途:可以处理单一或组合条件的情况。
语法:
if(条件){
//代码块;
}
用途:可以处理简单的条件分支情况。这种形式结构简单,但在实际开发中使用非常频繁。
语法:
if(条件){
//代码块;
}else{
//代码块;
}
三目运算:与if-else等同。
条件:?
为ture时;
为flase时;
例:
boolean num = (1==2);
String num1 = "";
num1 = num ? "相等" : "不相等";
说明:“?”相当于条件判断,"?"后面条件为ture是输出的结果,“:”后面为条件为false时输出的结果。
由于1!=2,所以输出不等于。
用途:可以处理复杂的条件分支情况。多重if选择结构在解决需要判断的条件是连续的区间是有很大优势。
语法:
if(条件1){
//代码块;
}else if(条件2){
//代码块;
}else if(条件3){
//代码块;
}
用途:在if选择结构中有又包含一个或多个if选择结构的情况,这种结构用于较为复杂的流程控制中。
语法:
if (条件1){
if(条件2){
//代码块;
}else{
//代码块;
}
}else{
if(条件3){
//代码块;
}else{
//代码块;
}
}
switch与if比较用法:
1、当需要多重分支并且条件判断是等值判断的情况下,使用switch选择结构代替多重if选择结构。
会更简单,代码结构更清晰易读。
2、JDK 1.7后,int、short、byte、char、String、枚举类型适用于switch。
case、default、break都不是必要的结构,但其又有重要作用。
语法:
switch(表达式){
case 常量1:
//代码块;
break ;
case 常量2:
//代码块;
break;
default:
//代码块;
break;
}
首先,循环不是无休止的进行的,满足一定条件的时候循环才会继续,称为“循环条件”,循环条件不满足时,退出循环;其次,循环结构时反复进行相同的或类似的一系列操作,称为“循环操作”。
用于打断循环结构执行顺序的两个关健字:
break:用于跳出循环,执行下一条程序。
continue:用于结束本次循环,进入下一次循环。
while(条件){
//代码块;
}
使用方法:
(1)声明并初识化循环变量。
(2)判断循环条件是否满足,如果满足则执行循环操作;否则退出循环。
(3)执行完循环操作后,再次判断循环条件,决定继续执行循环或退出循。
do{
//循环操作
}while(条件);
使用方法:
(1)声明并初识化循环变量
(2)执行一遍循环操作
(3)判断循环条件,如果循环条件满足,则循环继续执行,否则退出循环。
语法:
for(表达式1;表达式2;表达式3){
//循环操作
}
例:
for(int i = 0 ;i<100;i++){
//循环操作
}
使用方法:
(1)执行初始部分
(2)进行循环条件判。
(3)根据循环条件判断结果。如果为true,则执行循环体;如果为false,则退出循环,步骤4和步骤5均不执行。
(4)执行迭代部分,改变循环变量值。
(5)一次重复步骤(2)~(4),直至退出for循环。
通过调用Scanner对象的hasNextInt()方法,来判断用户从键盘输入的字符是否合法。
例:
if(input.nextInt()==true){
//代码块;
}else{
//代码块;
}
1.设置断点
2.启动调试,单步执行
主要讲述二重循环
如while嵌套while、do-while嵌套do-while、for嵌套for…,尤其说明,当两个for循环嵌。
套使用时,不可使用相同的变量名
例:
for(int i = 0 ; i < 100 ; i++){
//循环操作
for(int j = 0 ; j < 100 ; j++){
//循环操作
}
}
此中i和j必须区分,不可相同。
二重循环的循环步骤:外层循环变量一次,内层循环变量要从初始值到结束变化一边。
掌握好双重循环,就可以轻松在控制台打印出各类三角形以及九九乘法表。
例:
public class Shj5 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j < i+1; j++) {
System.out.print(i+"*"+j+"="+i*j+"\t");
}
System.out.println();
}
}
}
此代码可以打印出九九乘法,如图所示:
数组是一种引用数据类型,同String一般。
数据就是一个变量,用于将相同数据类型的数据储存在内存中。
数组的基本要素:
标识符:即数组名,每一个数组只有一个标识符。
数组元素:指向数组中存放的数据。
数组下标:为得到正确的数组元素,需要对其进行编号,编号即为数组下标。
元素类型:存入数组中的数据应为同一数据类型,即为元素类型。
数组长度:指数组可容纳元素的最大数量。
语法:
1.数据类型[] 数组名 = new 数据类型[数组长度];
2.数据类型[] 数组名 = new 数据类型[]{值};
数组越界:当数组已满还要继续向数组中储存数据时,程序就会出错,此就是数组越界。
获取数组长度方法:
数组名.length
对数值或字符的升序
Arrays.sort(数组名);
扩展:对字符串的排序
变量名.compareToIgnoreCase(变量名);
该代码块比较会产生数值。若大于则输出正整数,即1,小于则输出负整数,即-1,等于即为0.
简单而言,数组可以储存同类数据类型的多个数据,避免命名多个变量,减少代码块的使用。
该文章到此就结束了,希望大家多多指教。