1.java中的语句
1.顺序结构
2..选择结构
if语句 switch语句
3.循环结构
1.for循环
for(初始条件;判断条件;循环增量/减量){
java代码
}
初始条件---决定循环的开始
判断条件---决定循环的结束
循环增量/减量---控制初始条件
执行过程:
先执行初始条件,再执行判断条件,
判断条件为true时,执行{java代码},然后执行循环增量/减量, 接着继续执行判断条件
判断条件为false时,循环结束
例如:
public class ForSentence{
public static void main(String args[]){
//fou循环
/*
for(初始条件;判断条件;循环增量/减量){
java代码
}
初始条件---决定循环的开始
判断条件---决定循环的结束
循环增量/减量---控制初始条件
执行过程:
先执行初始条件,再执行判断条件,
判断条件为true时,执行{java代码},然后执行循环增量/减量,接着继续执行判断条件
判断条件为false时,循环结束
*/
//循环输出1-10的整数
for(int i=1;i<=10;i++){
System.out.println("i--"+i);
}
for(int j=10;j>=1;j--){
System.out.println("j--"+j);
}
int sum=0;
for(int i=1;i<=10;i++){
sum=sum+i;
}
System.out.println("sum=="+sum);
}
}
2.while循环
while(判断条件){
java代码
【循环增量/减量的条件】
}
执行过程:
先执行判断条件,
判断结果为true时,执行{Java代码},继续执行判断条件,依次循环 判断结果为false时,结束循环
注意1:初始条件定义在while循环格式之外
注意2:【循环增量/减量】{在Java代码.....的最后一句}
例如:
public class WhileSentence{
public static void main(String args[]){
//while循环
/*
while(判断条件){
java代码
【循环增量/减量的条件】
}
执行过程:
先执行判断条件,判断结果为true时,执行{Java代码},继续执行判断条件,依次循环
判断结果为false时,结束循环
注意1:初始条件定义在while循环格式之外
注意2:【循环增量/减量】{在Java代码.....的最后一句}
*/
//循环输出1-10的整数
int i=1;
while(i<=10){
System.out.println("i=="+i);
i++;
}
//循环输出10-1的整数
int j=10;
while(j>=1){
System.out.println("j=="+j);
j--;
}
//计算1-10的整数和
int sum=0;
int k=1;
while(k<=10){
sum=sum+k;
k++;
}
System.out.println("sum=="+sum);
}
}
3.do......while循环
do{
java代码
}while(判断条件);
执行过程:
先执行{java代码},再执行判断条件,
判断条件为true时,继续执行{Java代码},然后执行判断条件,一次循环
判断条件为false时,结束循环
注意1:初始条件定义在do.....while循环格式之外
注意2:把循环增量/减量的条件写在{java代码.....最后一句}
例如:
public class DoWhileSentence{
public static void main(String args[]){
//do......while循环
/*
do{
java代码
}while(判断条件);
执行过程:
先执行{java代码},再执行判断条件,
判断条件为true时,继续执行{Java代码},然后执行判断条件,一次循环
判断条件为false时,结束循环
注意1:初始条件定义在do.....while循环格式之外
注意2:把循环增量/减量的条件写在{java代码.....最后一句}
*/
//循环输出1-10之间的整数
int i=1;
do{
System.out.println("i=="+i);
i++;
}while(i<=10);
//循环输出10-1之间的整数
int j=10;
do{
System.out.println("j=="+j);
j--;
}while(j>=1);
//计算1-10的整数和
int sum=0;
int k=1;
do{
sum=sum+k;
k++;
}while(k<=10);
System.out.println("sum=="+sum);
}
}
4.三个循环的区别
for循环有定义循环增量/减量具体位置
while和do{}while()循环,没有定义循环增量和减量的具体位置,往往都是自己定义在循环体的最后一句。
for循环需要明确循环次数
while和do{}while()循环则不需要考虑循环次数
while循环和do{}while()的区别
while循环先判断后执行,do{}while()循环先执行后判断。初始判断条件结果为false时,
do{}while()循环会比while循环多执行一次循环体。
public class Test2{
public static void main(String args[]){
//初始判断条件为false时,do{}while()循环会比while多执行一次循环
/*
int i=1;
while(i<0){
System.out.println("i=="+i);
}
*/
int j=1;
do{
System.out.println("j=="+j);
}while(j<0);
}
}
5.break语句和continue语句的用法和区别
break语句---循环中就会中断循环的执行,如果循环是嵌套的,那么break语句出现的那一层就会中断那一次循环,在switch语句中表示结束switch语句的执行。
例如:
public class BreakSentence{
public static void main(String args[]){
//break语句---循环中就表示中断循环的执行
//如果是嵌套循环,那么break语句出现在那一层就中断那一次循环。
for(int i=1;i<=10;i++){
if(i==3){
break;
}
for(int j=1;j<=10;j++){
System.out.println("i=="+i+",j=="+j);
}
}
}
}
continue语句---往往出现在循环中表示结束当前循环,继续执行下一次循环
例如:
public class ContinueSentence{
public static void main(String args[]){
//continue语句--出现在循环中表示结束当前循环,继续执行下一次循环
for(int i=1;i<=10;i++){
if(i==5){
continue;
}
System.out.println("i=="+i);
}
}
}
2.Java中的数组
1.什么是数组
相同数据类型的数据按照顺序组成的复合数据类型
2.如何定义一个一维数组?
格式:数据类型 数组名称[];/数据类型 []数组名称;
数组的定义与变量的定义相似,只是需要"[ ]"与变量区分,因此"[ ]"就是数组的标志
名称前面/后面出现一个"[ ]"就是一维数组,有两个"[ ][ ]"就是二维数组,两个以上就是多维组
3.创建一个一维数组
创建数组的本质就是确定数组的存储空间。
格式:
1.先定义,后创建
定义:数据类型 数组名称[];/数据类型 []数组名称;
创建:数据名称=new 数据类型[指定存储空间];
指定存储空间的值是int型
intarry=new int[4];
chararry=new char[6];
2.定义+创建
数据类型 数组名称[]=new 数据类型[指定存储空间];
int intarray2[]=new int[4];
数据类型 []数组名称=new 数据类型[指定存储空间];
char []chararray2=new char[5];
4.如何为一维数组赋值?
1.逐个赋值---挨个为数组的每一个存储空间存放数据值。[需要数组的下标]
数组下标---因为数组是按照顺序保存数据,每一个存储空间有一个顺序编号,维持数组数顺序的编号就是下标
格式:数组名称[下标]=数据值;
intarray2[0]=233;
intarray2[1]=149;
intarray2[2]=245;
intarray2[3]=347;
注意:当保存在数组中的数据超过数组指定的存储空间时就会出错。
2.直接赋值---在创建数组的时候数据值保存到数组中
1.数据类型 数组名称[]=new 数据类型[]{数据值1,数据值2.....数据值n};
创建数组的时候不能指定存储空间
int arry1[]=new int[]{245,89,46,23};
2.数据类型 数据名称[]={数据值1,数据值2......数据值n};
char charar[]={'h','e','l','l','o'};
5.如何从一维数组中取值?
只要我们能够得到数组的存储位置,就可以得到数组中的数据
格式:数组名称[下标]
System.out.println(charar[3]);
6.一维数组的length属性
如果数组通过直接赋值的方式创建,那么length属性就表示元素的个数
System.out.println(charar.length);
如果数组通过定义创建赋值的方式创建,那么length属性就表示创建数组时给出的空间大小
与数组的元素个数无关
douarr[0]=23.9;
System.out.println(douarr.length); //4
7.循环遍历一维数组
public class ArraysDemo{
public static void main(String args[]){
//循环遍历数组
String names[]={"zhangsan","lisi","wangwu"};
//for循环遍历数组
for(int i=0;i<names.length;i++){
System.out.println("for--"+names[i]);
}
//while循环遍历数组
int j=0;
while(j<names.length){
System.out.println("while--"+names[j]);
j++;
}
//do...while循环遍历数组
int k=0;
do{
System.out.println("do.while--"+names[k]);
k++;
}while(k<names.length);
//增强的for循环---jdk1.5新增内容
//for(数据类型 变量名称:数组){变量名称==数组中的没一个数据值}
for( String name:names){
System.out.println("增强的for循环--"+name);
}
}
}
8.如何定义一个二维数组
格式:数据类型 数组名称[ ][ ];/数据类型 [ ][ ]数组名称
9.如何创建一个二维数组?
二维数组可以保存一个类似表格一样的数据,所以可以认为二维数组就是一个表格
1.先定义后创建
数据类型 数组名称[][];
数据类型 [][]数组名称;
数组名称=new 数据类型[表格行][表格列];
arrtest1=new int[2][3];
2.创建+定义
数据类型 数组名称[][]=new 数据类型[表格行][表格列];
数据类型 [][]数组名称=new 数据类型[表格行][表格列];
char charr[][]=new char[2][5];
10.如何为二维数组赋值?
1.逐个赋值---就是挨个为数组的每一个存储空间存放数据值
2.直接赋值---就是在创建数组的时候将数据值保存到数组中。
11.如何从二维数组中取值?
只要我们能够得到数组的存储位置,就可以得到数组中的数据值
格式:数组名称[行][列];
System.out.println(charr1[1][3]);
12.二维数组的length属性 -- 行数
System.out.println(charr1.length);
13.循环遍历二维数组---使用双层循环结构,外层控制行,内层控制列
import java.util.Arrays;
public class ArraysDemo{
public static void main(String args[]){
char charr1[][]={{'h','e','l','l','o'},{'w','o','r','l','d'}};
for(int i=0;i<charr1.length;i++){
for(int s=0;s<=4;s++){
System.out.println(charr1[i][s]);
}
}
//增强for循环
for(char carr[]:charr1){
for(char value:carr){
System.out.println("增强---"+value);
}
}
}
}
14.认识Arrays类【数组的帮助类】
Arrays类位于java.util包中,主要包含了操纵数组的各种方法
Arrays常用函数(都是静态的)
1.void Array.sort(Object[] array) 对数组按照升序排序
例如:
import java.util.Arrays;
public class ArraysDemo{
public static void main(String args[]){
char chartest[]={'h','e','l','l','o'};
Arrays.sort(chartest);
for(char value:chartest){
System.out.println("Arrays=="+value);
}
}
}
2.void Array.sort(Object[] array, int from, int to)
对数组元素指定范围进行排序(排序范围是从元素下标为from,到下标为to-1的元素进行序)
3.Arrays.fill(Object[] array,Object object)可以为数组元素填充相同的值
4.Arrays.fill(Object[] array,int from,int to,Object object)对数组的部分元素填充一个值,从起始
位置到结束位置,取头不取尾
5.Arrays.toString(Object[] array)返回数组的字符串形式
15.数组的内存结构