《java入门如此简单》——基础知识1

1. 关键字

被java中赋予了特殊含义的单词,所有字母为小写

2. 标识符

  • 程序中自定义的名称;

  • 英文字母,数字,_$;

  • 不可使用关键字

  • 数字不可开头

  • 严格区分大小写

  • 取名有意义

  • 规则

    • 包名:所有字母小写(aaabbbccc)

    • 类名接口名:所有单词首字母大写(AaaBbbCcc)

    • 变量和函数名:第一个单词首字母小写,其他字母大写(aaaBbbCcc)

    • 常量名所有字母大写,多单词时每个单词用下划线连接(AAA_BBB_CCC)

3. 注释

  • 单行注释://注释

  • 多行注释:/* 注释 */

  • 文档注释: /** 注释 */

4. 变量

变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。

内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。

数据类型 变量名= 初始值

  • 内置数据类型

    • byte

    • short

    • int

    • long

    • float

    • double

    • boolean

    • char

  • 引用数据类型

    在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。对象、数组都是引用数据类型。所有引用类型的默认值都是null。一个引用变量可以用来引用任何与之兼容的类型。

    例子:Site site = new Site("Runoob")。

5. 常量

常量在程序运行时是不能被修改的。

在 Java 中使用 final 关键字来修饰常量,声明方式和变量类似:

自动类型转换


低 ------------------------------------> 高

byte,short,char—> int —> long—> float —> double

数据类型转换必须满足如下规则:

  • 不能对boolean类型进行类型转换。

  • 不能把对象类型转换成不相关类的对象。

  • 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。

  • 转换过程中可能导致溢出或损失精度,例如:


    int i =128;  
    byte b = (byte)i;

    因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。

  • 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:


    (int)23.7 == 23;        
    (int)-45.89f == -45

必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。

强制类型转换

  • 条件是转换的数据类型必须是兼容的。

  • 格式:(type)value type是要强制类型转换后的数据类型 实例:

隐含强制类型转换

  • 整数的默认类型是 int。

  • 浮点型不存在这种情况,因为在定义 float 类型时必须在数字后面跟上 F 或者 f。

6. 变量类型


int a, b, c;         // 声明三个int型整数:a、 b、c
int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
byte z = 22;         // 声明并初始化 z
String s = "runoob";  // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x';        // 声明变量 x 的值是字符 'x'。

Java语言支持的变量类型有:

  • 类变量:独立于方法之外的变量,用 static 修饰。

  • 实例变量:独立于方法之外的变量,不过没有 static 修饰。

  • 局部变量:类的方法中的变量。

Java uses double quotes ("") for Strings and single quotes ('') for chars. To fix this is simple:

7. 修饰符

访问控制和继承

请注意以下方法继承的规则:

  • 父类中声明为 public 的方法在子类中也必须为 public。

  • 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。

  • 父类中声明为 private 的方法,不能够被继承

8. 运算符

算术运算符

+, - , * ,/, % , +(连接符)

赋值运算符

++ -- += -= *= /= %=

int a = 3, b

b = a ++

a++: 先将3这个值保留到内存中的一个地方,然后再自增,a的值为4,而b的值为3;

++a: 先计算a+1,再赋值;

关系运算符

==检查如果两个操作数的值是否相等,如果相等则条件为真。(A == B)为假。
!= 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 (A> B)为假。
< 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 (A <B)为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 (A> = B)为假。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 (A <= B)为真。

位运算符

Java定义了位运算符,应用于整数类型(int),长整型(long),短整型(short),字符型(char),和字节型(byte)等类型。

位运算符作用在所有的位上,并且按位运算。假设a = 60,b = 13;它们的二进制格式表示将如下:


A = 0011 1100
B = 0000 1101
-----------------
A&b = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
~A= 1100 0011

一个数异或同一个数两次,结果还是这个数;

6^3^3 =3

逻辑运算符

下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假

操作符描述例子
&& 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 (A && B)为假。
| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 (A | | B)为真。
称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 !(A && B)为真。

三元运算符

variable x = (expression) ? value if true : value if false
posted @ 2019-03-25 15:45  伊万夫斯基  阅读(293)  评论(0编辑  收藏  举报