一,JAVA中的基本语句
1,判断语句,if.
if语句有三种表现形式:a:if(true){执行的语句};b:if(条件表达式){执行语句}else{执行语句}; c:if(条件表达式){执行语句}else if{执行语句}....else{执行语句};if或else if里面的条件表达式都可以理解为是判断的条件,当满足某一条件时,就执行其对应的执行语句。三种表现形式的最大区别是判断的条件个数不同(第一种只能判断一种条件,第二种可以判断两个条件,当不满足第一个条件时就执行else下面的语句,而第三种可以判断多个条件)。
2,选择语句,switch.
switch(变量){
case 值:要执行的语句;break;
…
default:要执行的语句;
}原理:用小括号中的变量的值依次和case后面的值进行对比,如果和case后面的值相同了就执行case后面的语句,如果没有相同的则执行default后面的语句(千万要记住一点,当case下面的执行语句后面没有加break时,就算程序满足了某一个case后,它还会执行后面case所要执行的语句,直到执行完default后,程序才算执行完。);
例如:int x=7;
switch(x)
{
case7:
System.out.println("a");
case5:
System.out.println("b");
case6:
System.out.println("c");
default:
System.out.println("d");
}
这个代码执行的结果为:a b c d ;但是如果在执行语句后加了break,结果就为a.
switch 后面的小括号中的变量只能是byte,char,short,int四种类型中的一种;
3,循环语句
while和do while
while的格式:while(条件表达式){执行语句};
do while的格式:do{执行语句}while(条件表达式);
只要记住它两的区别:while是先判断条件,满足就执行下面的语句,而do while则是先执行语句再进行判断(无论条件是否满足,至少都会执行一次{}中的语句)。
for循环语句格式
for(初始化表达式(1);循环条件表达式(2);循环后的表达式(3)){
执行语句(4);}
执行顺序是:(1)---->(2)---->(4)---->(3)---->(2)---->(4)---->(3)....
while和for语句可以进行互换。但有一点区别是:for循环执行完毕变量会自动释放,而while中的变量则还存在于栈内存中。
在循环中要用到两种控制循环的语句。continue,break。continue只作用于循环结构,它只是结束本次循环,继续下次循环。break用于跳出循环,也就是循环在执行到break时,就会结束。它们俩后面不可以定义其它语句,因为会执行不到。
如要打印出1到100之前的奇数,用continue比较方便。
for(int x=0;x<=100;x++)
{
if(x%2==0)
continue;
System.out.println(x);
}
嵌套循环:也就是循环里面还有循环。如打印出乘法口诀表。
for(int x=0;x<=9;x++)
{
for(inty=1;y<=x;y++)
{
System.out.print(y+"*"+x+"="+x*y+"\t");
}
//每输完一行就换行一次。
System.out.println();
}
二,数组
数组的定义:是用于存储同一种类型数据的容器。
数组的好处:可以对存入该容器中的数据时行编号,因为每个数据有对应的角标,从0开始。
定义数组的格式:元素类型[]变量名= new元素类型[元素的个数];元素类型[]变量名 = {元素1,元素2...};
因为我们可以通过角标来操作数组中的元素,所以有多种操作。如对元素进行排序,查找等。
//折半查找
public class HalfSearchDemo {
publicstatic void main(String[] args) {
//TODO Auto-generated method stub
int[]arr={3,6,12,34,56,89,98};
intx=getIndex_3(arr,8);
System.out.println(x);
}
publicstatic int getIndex(int[] arr,int key)
{
intmin,max,mid;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(key!=arr[mid])
{
if(arr[key]>arr[mid])
min=mid+1;
elseif(arr[key]<arr[mid])
max=mid-1;
mid=(min+max)/2;
}
returnmid;
}
}
将数组中的元素进行反转
public static void arrRverse(int[] arr)
{
for(int start=0,end=arr.length-1;start<end;start++,end--)
{
int tmep=arr[start];
arr[start]=arr[end];
arr[end]=tmep;
}
}