流程控制语句
if条件语句
if (表达式){执行语句块};
-表达式的值必须是布尔型的值
if.....else条件语句
if ...else 语句作用:针对 某种条件有选择地做出处理
如果布尔表达式的值为true,则执行语句1
如果布尔表达式的值为false,则执行语句2
如果有多个条件,可以用逻辑运算符连接成为表达式
判断变量i能否同时被2和3整除:
(i%2==0)&&(i%3==0)
判断变量a大于100或者b小于50:
(a>100)||(b<50)
if......else if条件语句
if (表达式1){
执行语句块1
}else if(表达式2){
执行语句块2
}
…
switch 条件语句
switch (表达式){
case 取值1:
语句块1
…
case 取值n:
语句块n
default:
语句块n+1
}
switch 语句特点:
表达式的值只可以接受int、byte、char、short 、String型,不接受其
他类型的值
表达式的值接受String类型只在JDK7及以后版本有效
switch case中的值必须要与switch表达式的值具有相同的数据类型。而且case后跟的值必须是常量,不能跟变量。不允许有重复的case取值
switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置,开始顺序执行以后所有的程序代码,而不管后面的case条件是否匹配,直到碰到break关键字或者结束switch语句的大括号为止
case之间与default没有顺序。先判断所有的case,没有匹配的case执行default。因此一般将default放在case后面。
switch语句停止的条件是遇到了break关键字或者结束switch语句的大括号
控制台输入
可以通过控制台得到用户的输入(程序会等待用户输入后再继续执行):
使用控制台输入,需要加入代码
import java.util.Scanner;
该代码必须在package下一行
如果没有package声明,可以在第一行
new Scanner(System.in).nextInt():得到用户输入的整数
new Scanner(System.in).nextDouble():得到用户输入的浮数
new Scanner(System.in).next():得到用户输入的字符串,空格结束
new Scanner(System.in).nextLine():得到用户输入的字符串,换行结束
示例代码:
控制台输入
package com.neuedu.ch03;
import java.util.Scanner;
public class InputTest {
public static void main(String[] args) {
int a01 = new Scanner(System.in).nextInt();
double b01 = new Scanner(System.in).nextDouble();
String c01 = new Scanner(System.in).next();
String c02 = new Scanner(System.in).nextLine();
}
产生随机数
随机数:在产生过程中是按照分布概率随机产生的,其结果是不可预测的。
伪随机数:计算机中的随机函数是按照一定算法模拟产生的,因此称为伪随机数。
使用随机数程序,需要加入代码
import java.util. Random;
该代码必须在package下一行如果没有package声明,可以在第一行多行import可以依次编写,import代码没有必须顺序产生随机数代码:new Random().nextInt(正整数);
括号中的数字代表产生随机数的范围
例如:如果数字为10,产生0到9之间的随机整数。
循环语句
while(条件表达式){
执行语句块
}
实例:
int x=1;
while(x<3){
System.out.println("x="+x);
x++;
}
代码调试
使用sts可以让代码一行一行执行
-设置断点
-启动调试运行
-单步执行F8
-观察变量
do......while循环语句
do{
执行语句块
} while(条件表达式 );
特点:先执行一遍然后在判断
for循环
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句块
}
for循环是编程中最常见到的循环语句
流程控制进阶
流程控制嵌套使用
流程控制嵌套使用语法
流程控制嵌套使用注意事项
死循环
while实现 while(true){ }
for实现 for(int i=0;;i++)
do...while实现
流程中断
break 打断跳出循环,可以用标签跳出外层循环
continue 跳过满足条件项目继续执行
数组:数组可以看成是多个相同类型数据的组合,实现对这些数据的统一管理
数组元素:数组中的每一个数据,称为数组的一个元素(element)
数组中的元素可以是任何数据类型,包括基本数据类型和引用类型
数组中元素的个数,称为数组的长度(length)
JAVA语言中声明数组时不能指定其长度
例如:
int a[5]; //非法
int a[]; //合法
int[] a; //合法
数组的声明:
int a[ ] ;
int[ ] b ;
double d[ ] ;
char[ ] ch ;
String stu[ ]
指定数组长度:
数组名=new 数组元素类型[元素个数]
int [] a=new int[5];
数组是存储多个相同类型变量的对象。数组的所有元素保存在堆内存中。
创建一个数组就是在堆中创建一个数组对象。数组创建后立即拥有默认值。
1、整数类型数组的默认值是0
2、String类型定义的数组,默认值是null
3、char类型定义的数组,默认值是0对应的字符
4、浮点类型定义的数组,默认值是0.0
5、boolean类型数组的默认值是false
数组初始化
在创建数组的同时就为数组元素分配空间并赋值
int a[ ] = {1,2,3,4,5} ;
数组类型 数组名[ ] = { 元素1 ,元素2 ,…}或者
数组类型 数组名[]=new 数据类型[]{元素1,元素2.....}
int a[ ] = new int[]{1,2,3,4,5} ;
数组元素的赋值
Java中,数组元素的下标从0 0开始;
元素的下标可以是整型常量或整型表达式;
数组的查询效率高,可以通过下标进行对数组的定位检索。
数组名[元素下标]=元素值;
int a[ ] ;
a = new int[5] ;
a[0] = 1;
a[1] = 2;
a[2] = 3;
a[3] = 4;
a[4] = 5;
创建数组
声明数组:和使用变量要先声明一样,先声明数组的类型和名称
构造数组:
构造/创建数组使用了关键字new,它是内存分配操作符,所谓创建数组,就是在内存中给数组分配空间。
初始化数组:使用new创建数组后,所有元素其实已经被初始化,元素都是默认值,这种初始化就叫做”动态初始化“。
还有一种初始化方式是不使用new,而是在声明数组的同时就完成创建和初始化工作,这叫做”静态初始化“。
如:int[ ] buf = {10,20,30,66};
数组元素赋值:
int[ ybers;
int[ ] myNumbers;
ybers = new int[20];
myNumbers = new int[20];
myNumbers [ 0 ] = 5;
myNumbers [ 1 ] = 10;
myNumbers [ 2 ] = 15;
myNumbers [ 3 ] = 20;
myNumbers [ 0 ] = 5;
myNumbers [ 1 ] = 10;
myNumbers [ 2 ] = 15;
myNumbers [ 3 ] = 20;
foreach循环访问数组
是for的循环特殊简化版本,其语法为:
for(数组元素类型 变量名:数组名){
语句;
}
作用:该循环方式为按照数组下标顺序,依次将冒号右边数组中的每个元素赋值给冒号左边的变量,数组长度为for循环的次数
数组长度
数组有length属性,用来显示本数组的长度,语法为:
数组名.length
特点:
数组的长度length必须>0;
length为只读,不能被赋值;
利用length遍历数组
示例
class Hello {
public static void main( String args[ ]) {
int a[] = {1,-12,33};
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
一维数组
数组的异常
数组越界异常( ArrayIndexOutOfBoundsException)
多维数组
java中没有真正的多维数组,只有数组的数组
锯齿数组
创建方法:
数组类型 数组名[][] 数组类型 [][] 数组名
数组类型[] 数组名[]
int a[ ] [ ] ;
int[ ][ ] b ;
int[ ] c[ ] ;
多维数组的创建
注意:必须声明行的个数
数组名 = new 数据元素类型[ 行数 ] [ 列数 ] ;
数组名 = new 数据元素类型[ 行数 ] [ ] ;
a = new int [3][4] ;
a = new int [3][ ] ;
a = new int [ ][4] ; //非法
必须声明行的个数
多维数组
多维数组的初始化
int a[ ][ ] = { {1,2,3}, {4,5}, {7} } ;
int a[ ][ ] = new int[ ][ ]{ {1,2,3}, {4,5}, {7} } ;
数组类型 数组名[ ][ ] = { { 元素11 ,元素12 ,…} , { 元素21 ,元素22 ,… } }
数组类型 数组名[ ][ ] = new 数据类型[ ][ ] { { 元素11 ,元素12 ,…} , { 元素21 ,… } }
int a[ ][ ] = { {1,2,3}, {4,5}, {7} } ;
int a[ ][ ] = new int[ ][ ]{ {1,2,3}, {4,5}, {7} } ;
冒泡排序法
冒泡排序法是一种简单的排序算法它重复地走访过要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。
网友评论