JavaSE03 Java基础语法(下)

一、流程控制

1、顺序结构

程序默认的结构,自上而下的执行

2、选择结构

(1)if语句

(1)if 单选择结构
(2)if-else 双选择机构
(3)if-else if-else 多选择结构

(2)Swich语句

switch(变量){
   case 值:要执行的语句;break;
   …
  default:要执行的语句;
  }

3、循环结构

(1)while循环
(2)do-While循环
(3)for循环
(4)增强for循环

break:作用于switch ,和循环语句,用于跳出,或者称为结束。
continue:只作用于循环结构,继续循环用的。结束本次循环,继续下次循环。
return:结束方法的运行。

二、方法

1、方法的定义

访问权限符 返回值  方法名(参数列表){
    方法体
}

(1)没有具体的返回值时,返回的返回值类型用void关键字表示。
(2)如果函数的返回值类型是void时,return语句可以省略不写的,系统会帮你自动加上。
(3)方法的名称,避免使用到java关键字,并且首字母小写,命名时使用驼峰命名法
骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。

2、访问修饰符

image.png
2.1 public
  • (1)定义:public是公共的,被public所修饰的成员可以在任何类中都能被访问到。
  • (2)作用域:public能用来修饰类,在一个java源文件中只能有一个类被声明为public,而且一旦有一个类为public,那这个java源文件的文件名就必须要和这个被public所修饰的类的类名相同,否则编译不能通过。public用来修饰类中成员(变量和方法),被public所修饰的成员可以在任何类中都能被访问到。通过操作该类的对象能随意访问public成员。public在类的继承上的体现,被public所修饰的成员能被所有的子类继承下来。
2.2 protected
  • (1)定义:protected是受保护的,受到该类所在的包所保护。
  • (2)作用域:被protected所修饰的成员会被位于同一package中的所有类访问到。同时,被protected所修饰的成员也能被该类的所有子类继承下来。(注意:这里是指同一个package或者不同的package中的子类都能访问)
2.3 default
  • (1)定义:default是默认,缺省的,即在成员的前面不写任何的访问修饰符的时候,默认就是友好的。所谓友好的,是对同一package的类友好。
  • (2)作用域:同一package中的所有类都能访问。被friendly所修饰的成员只能被该类所在同一个package中的子类所继承下来。(也就是说只有在同一个package中的子类才能访问到父类中friendly修饰的成员)
2.4 private
  • (1)定义:private是私有的,即只能在当前类中被访问到,它的作用域最小。
  • (2)作用域:private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。

3、方法的调用

(1)类名.方法()
(2)对象.方法()

4、方法重载

在一个类中,如果出现了两个或者两个以上的同名方法,只要它们的参数的个数不同,或者参数的类型不同,即可称之为该方法重载了。

5、递归

递归,即自己调用自己(自身调用、递归出口)

递归算法是一种直接或间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。

6、可变参数

(1)当参数的个数不定时,可以使用可变参数
(2)可变参数的写法:int…a 前面为参数类型,中间加三个点,后面为参数名
(3)使用规则:
可变参数只能位于参数列表的最后一个
可变参数有且只有一个
(4)可变参数的原理为数组,传入参数时,根据传入的参数自动生成匹配的数组类型,数组长度等于传入的参数个数,数组元素为传入的实参

public class Text2 {
    public static void main(String[] args) {
        int sum = addSum(1,2,3,4,5,6,7,8,9);
        System.out.println(sum);
    }

    private static int addSum(int ...a) {
        int add = 0;
        //将数组元素(即传入的参数)求和
        for (int i = 0; i < a.length; i++) {
            add += a[i];
        }
        return add;
    }
}

三、数组

1、数组的定义

用于存储同一类型数据的一个容器。好处:可以对该容器中的数据进行编号,从0开始。数组用于封装数据,就是一个具体的实体。
(1)元素类型[] 变量名 = new 元素类型[元素1,元素2…];
(2)元素类型[] 变量名 = {元素1,元素2…};
(3)必须是同一个类型

2、数组的使用

(1)通过数组下标取值
(2)ArrayIndexOutOfBounds 数组越界
(3)for循环遍历

3、二维数组

(1)二维数组可以看作是特殊的一维数组,在声明二维数组的同时用new为二维数组分配内存空间,然后才能访问每个元素
(2)数组类型[][] 数组名 = new 数组类型[一维数组的个数][每一个一维数组中元素的个数];

4、Arrays工具类

Java中为我们提供了数组相关的一个工具类,使用该工具类可以方便的输出编辑数组。
工具类只有静态方法。常见的有:

(1)toString()

将数组转化为字符串,有多个重载方法,可以支持boolean、float、int、long、short对象数组。

(2) sort()

将数组升序排列,是一个改进的快速排序,比起传统的冒泡,选择排序速度更快

(3)binarySearch(int[] a,int key)

二分法查找数组,返回值为int型

5、排序算法

常见的排序算法有:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容