Java学习笔记-语句-函数-数组

时间:2021-03-09 19:09:05

-----------android培训java培训、java学习型技术博客、期待与您交流!------------

 

1.Java语言的基本组成:

1)关键字

定义数据类型的关键字:class、interface、int、byte、short、long、char、void、double、float、boolean

定义数据类型值的关键字:true、false、null

定义流程控制的关键字:if、else、switch、case、while、for、break、continue、return、do、default

2)标识符

在程序中自定义的一些名称称之为标识符。

表识符的规则:数字、特殊符号不可以开头,不可以使用关键字。Java中严格区分大小写,威力提高阅读性尽量定义有意义的标识符。

标识符的规范:包名全部小写:xxxyyyzzz , 类接口名 首字母大写:XxxYyy,变量名从第二个单词开始首字母大写:xxxYyy,常量全部大写XXXYYY

3)注释

单行注释://             多行注释:/*        */       文档注释/**       */

4)常量和变量

数据类型分类:

Java学习笔记-语句-函数-数组

定义变量的示例:int x=3;  double d=3.0d;  float f = 2.3f;  boolean = true;等等

强制转换:byte b=2; b =(byte)(b+2);2是int类型,运算结果会提升为int型,需要强转,否则编译器会报错。

5)运算符

+,-,*,/,%,++x(前自增),x++(后自增),\(转义字符),+=,*=,/=,-=,%=(a=a+3这个是两次运算,a+=3是一次赋值运算)

比较运算符:==,!=,<,>,<=,>=

逻辑运算符:&,|,^,!,&&,||

  true & true = true;
  true & false = false;
  false & true = false;
  false & false = false;

true | true = true;
  true | false = true;
  false | true = true;
  false | false = false;

 

true ^ true = false;
  true ^ false = true;
  false ^ true = true;
  false ^ false = false;

 

&和&&的特点:
  &:无论左边是true是false。右边都运算。
  &&:当左边为false时,右边不运算。

 

|:两边都参与运算。
  ||:当左边为true。右边不运算。

位运算符:

<<左移,>>右移,>>>无符号右移,&与运算,|或运算,^异或运算,~取反。

三元运算符(条件表达式)?表达式1:表达式2;

6)语句

判断结构:

      if语句:

      if(条件表达式){执行语句}         if(条件表达式){执行语句}else{执行语句}           if(条件表达式){执行语句}else if(条件按表达式){执行语句}...else{执行语句}

选择结构:

      switch语句:

      switch(条件表达式){case1:执行语句;break;case2:执行语句;break;case3:执行语句;break;......case1:执行语句;break;}

循环结构:

       while语句:

       while(条件表达式){执行语句}              do{执行语句} while(条件表达式)  两种格式的区别:do    while 无论条件满足不满足都会先执行一次

       for语句:

       for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}       for语句和while语句的区别:for语句定义的变量只在循环中有效,while语句使用的变量在循环结束后还可以使用。

       break(跳出):用在选择结构和循环结构中,用于结束循环。

       continue(继续):用在循环结构中,用于结束本次循环,执行下次循环。
7)函数

函数也称之为方法。

函数的格式:修饰符  返回值类型   函数名(参数类型  形式参数1,参数类型  形式参数2,.........){执行语句;return 返回值;}

函数的特点:函数可以将功能代码封装,便与复用该功能,提高了代码的复用性。没有返回值是用void表示,可以省略不写return语句。函数被执行只能被调用。

代码示例:

public class FunctionTest {
public static void main(String [] args){
int sum = add(3,4);//调用add函数,返回值用sum接收
System.out.println(sum);//输出sum
}
public static int add(int x,int y){//定义一个add函数,返回值类型为int,有两个参数,参数类型为int
return x+y;//必须写返回语句。返回两个参数的和
}
}


运行结果:7

函数的重载:

什么是重载:在同一个类中,可以存在一个或一个以上的同名函数,只要参数个数、参数类型不同即可。函数的重载与返回值类型无关。

被调用的函数根据调用者所传的参数类型,参数个数决定的。

代码示例:

public class FunctionTest {
public static void main(String [] args){
int sum = add(3,4);//调用add函数,返回值用sum接收
System.out.println(sum);//输出sum
double sum1 = add(3.0,4.0);//调用返回值为double类型,有两个参数的的函数
System.out.println(sum1);
int sum2 =add(3,4,5);//调用返回值为int类型,有三个参数的函数。
System.out.println(sum2);
}
public static int add(int x,int y){//定义一个add函数,返回值类型为int,有两个参数,参数类型为int
return x+y;//必须写返回语句。返回两个参数的和
}
public static double add(double x,double y){//函数名一样,参数类型不一样,返回值类型不一样,是重载。
return x+y;
}
public static int add(int x,int y,int z){//函数名一样,参数类型一样,参数个数不一样,是重载
return x+y+z;
}
}


运行结果:

7
7.0
12

8)数组

8.1数组的概念:同一种类型数据的集合,数组是一个容器,数组的长度是固定的不可改变。

8.2定义数组的格式1:元素类型 []  数组名 = new  元素类型 [元素的个数或数组的长度];

      定义数组的格式2:元素类型 []  数组名 = new  元素类型 []{元素,元素,.......};

     数组引用没有指向实体,却在操作实体中的元素时,会发生空指针异常(NullPointerException)
   例:

   int[] arr = null;

       System.out.println(arr[0]);

       访问到数组中不存在的角标是,会发生角标越界异常(ArrayIndexOutOfBoundsException)
   例:

   int [] arr = new int [2];

   System.out.println(arr[3]);

8.3数组的常见操作:

获取最大(最小)值:

代码示例:

package ArrayTest;

public class ArrayMax {

public static void main(String[] args) {
int [] arr = {1,6,8,9,4,3,4};
System.out.println("max="+getMax(arr));//调用getMax方法
System.out.println("min="+getMin(arr));//调用getMin方法
}
public static int getMax(int [] arr){//定义获取最大值的函数
int max = arr[0];//定义一个变量
for(int x=0;x<arr.length;x++){//遍历数组
if(arr[x]>max)//比较数组中的元素,记录大的值
max=arr[x];
}
return max;
}
public static int getMin(int [] arr){//定义获取最小值的函数
int max = arr[0];//定义一个变量
for(int x=0;x<arr.length;x++){//遍历数组
if(arr[x]<max)//比较数组中的元素,记录小的值。
max=arr[x];
}
return max;
}
}


运行结果:

max=9
min=1

排序(冒泡,选择):

代码示例:

package ArrayTest;

import java.util.Arrays;

public class ArraySort {
public static void main(String [] args){
int [] arr = {1,4,3,6,8,3,4,5};//定义数组
arr=selectSort(arr);//调用选择排序的方法
System.out.println(Arrays.toString(arr));//使用数组工具输出数组
arr=bobbleSort(arr);//调用冒泡排序的方法
System.out.println(Arrays.toString(arr));//使用数组工具输出数组

}
public static int[] selectSort(int[] arr){//定义选择排序的方法
for(int count=0;count<arr.length-1;count++){//外循环控制比较的第一个元素
for(int index=count+1;index<arr.length;index++){//内循环控制比较的第二个元素
if(arr[count]>arr[index]){//比较元素的大小
int temp=arr[count];//置换位置
arr[count]=arr[index];
arr[index]=temp;
}
}
}
return arr;
}
public static int[] bobbleSort(int[] arr){//定义冒泡排序
for(int count=0;count<arr.length-1;count++){//外循环控制循环比较的次数
for(int index=0;index<arr.length-count-1;index++){//内循环控制单次比较的次数,-1防止角标越界
if(arr[index]<arr[index+1]){//头一个元素和后一个元素比较
int temp=arr[index];//置换位置
arr[index]=arr[index+1];
arr[index+1]=temp;
}
}
}
return arr;
}
}


运行结果:

[1, 3, 3, 4, 4, 5, 6, 8]
[8, 6, 5, 4, 4, 3, 3, 1]

8.4二维数组:

定义二维数组中的方式:

int [] [] arr=new int[3] [4];表示二维数组arr中有3个一维数组,每个以为数组中有4个元素。

int [] [] arr= {{元素,元素},{元素,元素,元素},{元素}}

-----------android培训java培训、java学习型技术博客、期待与您交流!------------