Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
      Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等

1.Java基础结构
2.Java命名规范与注释
3.变量,常量与数据类型
4.字符与字符串类型
5.数组类型
6.常量
7.访问修饰符

1.Java基础结构

1
2
3
4
5
6
// 类名与Java文件名相同
public class Hello {
public static void main(String[] args) { // 方法名是main,main方法表示为入口文件
// 方法代码...
} // 方法定义结束
}

PS:我们注意到public除了可以修饰class外,也可以修饰方法。而关键字static是另一个修饰符,它表示静态方法,后面我们会讲解方法的类型,目前,我们只需要知道,Java入口程序规定的方法必须是静态方法,方法名必须为main,括号内的参数必须是String数组。

2.命名规范

命名规则:包含数字,字母,下划线与$符号(不能以数字开头;不能为关键字)
命名规范:类名(大驼峰原则),方法名与变量名(小驼峰原则)

补充:【python的命名规范】

3.注释

单行注释:\\
多行注释:\* content *\
从Java 13开始,字符串可以用"""..."""表示多行字符串(Text Blocks)

4.变量与数据类型

在Java中,变量必须先定义后使用,定义时,也可以赋值一个初始值,在Java中,变量分为两种:基本类型的变量引用类型的变量
基本数据类型是CPU可以直接进行运算的类型。Java定义了以下几种基本数据类型:

  • 整数类型:byte,short,int,long

  • 浮点数类型:float,double

  • 字符类型:char

  • 布尔类型:boolean
    注意char类型使用单引号',且仅有一个字符,要和双引号"的字符串类型区分开。

5.常量(通常大写)

定义变量的时候,如果加上final修饰符,这个变量就变成了常量:

1
2
3
4
final double PI = 3.14; // PI是一个常量
double r = 5.0;
double area = PI * r * r;
PI = 300; // compile error! 常量在定义时进行初始化后就不可再次赋值,再次赋值会导致编译错误。

注意:

  • 变量可重新赋值,等号是赋值语句,不是数学意义的等号。

  • 常量在初始化后不可重新赋值,使用常量便于理解程序意图。

6.字符与字符串类型

字符类型:字符char是基本数据类型,一个char保存一个Unicode字符

1
2
char c1 = 'A';
char c2 = '中';

要显示一个字符的Unicode编码,只需将char类型直接赋值给int类型即可:

1
2
int n1 = 'A'; // 字母“A”的Unicodde编码是65
int n2 = '中'; // 汉字“中”的Unicode编码是20013

字符串类型:
和char类型不同,字符串类型String是引用类型,常常使用双引号包裹起来

1
2
3
4
String s = ""; // 空字符串,包含0个字符
String s1 = "A"; // 包含一个字符
String s2 = "ABC"; // 包含3个字符
String s3 = "中文 ABC"; // 包含6个字符,其中有一个空格

7.数组类型

语法:定义一个数组类型的变量,使用数组类型“类型[]”,例如,int[]。和单个基本类型变量不同,数组变量初始化必须使用new int[5]表示创建一个可容纳5个int元素的数组

1
2
3
4
5
6
7
public class Main {
public static void main(String[] args) {
// 数组的创建方式
int[] grades = new int[5];
System.out.println(ns.length); // 5
}
}

Java的数组有几个特点:

  • 数组所有元素初始化为默认值,整型都是0,浮点型是0.0,布尔型是false;
  • 数组一旦创建后,大小就不可改变。
  • 要访问数组中的某一个元素,需要使用索引。数组索引从0开始,例如,5个元素的数组,索引范围是0~4。
  • 可以修改数组中的某一个元素,使用赋值语句,例如,ns[1] = 79;。
  • 可以用数组变量.length 获取数组大小

python的列表List与python的数组的区别
List(列表) 是 Python 中使用最频繁的数据类型。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)

Java数值初始化:

1
2
3
4
5
int[] ns = new int[] { 68, 79, 91, 85, 62 };
int[] ns = { 68, 79, 91, 85, 62 } // 这是简写
ns[index] // 按索引值查找
int[] bb = {1,2,3};
System.out.println(Arrays.toString(bb)); // 直接打印数组

小结:

  • 数组是同一数据类型的集合,数组一旦创建后,大小就不可变;

  • 可以通过索引访问数组元素,但索引超出范围将报错;

  • 数组元素可以是值类型(如int)或引用类型(如String),但数组本身是引用类型;

  • java不同于python,Java的数组无法直接打印,可以使用Arrays.toString(数组名)来直接打印出来

8.访问修饰符

作用域 本类 本包范围内 子孙类(只代表其他包中的子孙类) 其他包
public 可以 可以 可以 可以
protected 可以 可以 可以 不可以
default 可以 可以 不可以 不可以
private 可以 不可以 不可以 不可以

同一package可以理解为在同一个村庄

public 可以理解为无论是否在一个村,谁都可以访问

protected 可以理解为,只有自己一个村的邻居和子女,以及远嫁出去的子女可以访问

default 可以理解为,只有自己同村的可以范围,如果子女和自己是同村,也可以使用。如果子女远嫁出去,不在自己的村庄了,很抱歉,远水解不了近渴,远亲不如近邻。

private 可以理解为 私有财产不可侵犯,有些事情,除了自己,绝不能让其他人访问,例如银行密码。


 评论

联系我 | Contact with me

Copyright © 2019-2020 谁知你知我,我知你知深。此恨经年深,比情度日久

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议