Java基础

注释

与大多数程序语言一样,Java中的注释不会出现在可执行程序中。我们可以在程序中给代码添加适当的注释说明代码作用,编写注释是良好的编程习惯。在Java中注释的类型有三种:单行注释、多行注释、文档注释。文档注释可以用来生成文档。实例如下:

//定义一个name变量
String name = "无涯子";
/*
将计算两个数的和并将其赋值给另一个变量
*/
int num1 = 10;
int num2 = 20;
int result = num1 + num2;
/**
@Author:无涯子
@Emial:2750565592@qq.com
*/

文档注释一般放在类或者方法开头部分,用于对类或者方法进行简单的说明。

关键词

关键词是其含义由编程语言定义的词。我们在对变量、类、方法命名的时候不能使用关键词,关键词是语言定义的。Java中完成的关键词如下:

abstract class    extends implements null      strictfp     true
assert   const    false   import     package   super        try
boolean  continue final   instanceof private   switch       void
break    default  finally int        protected synchronized volatile
byte     do       float   interface  public    this         while
case     double   for     long       return    throw
catch    else     goto    native     short     throws
char     enum     if      new        static    transient

Java中的关键词我们不用刻意去记忆,在今后的学习和使用中,我们自然会记住这些关键词。

标识符

简单的说,Java中凡是可以由程序员自己起名字的都叫标识符。其涉及到的结构有:包名、类名、接口名、变量名、方法名、常量名。

命名规则

  1. 由26个英文字母大小写,0-9,_ 或 $ 组成
  2. 数字不可以开头
  3. 不可以使用关键字(class、int等)和保留字(goto和const),但能包含关键字和保留字
  4. Java中严格区分大小写,长度无限制。
  5. 标识符不能包含空格

命名规范

  1. 包名:多单词组成时所有字母都小写
  2. 类名、接口名:多单词组成时,所有单词的首字母大写
  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写
  4. 常量名:所有字母都大写,多单词时每个单词之间用下划线_连接
  5. 命名的标识符要见名知意,不要使用拼音,要遵守驼峰命名规则

数据类型

Java是一种强类型的语言。必须为定义的每一个变量声明一种类型。在Java中数据类型一共有两种大类型,基本数据类型和引用数据类型。基本数据类型包括:byte、short、int、long、float、double、char、boolean。引用数据类型包括:类、接口、数组。我们这里重点介绍基本数据类型。

整型

整型就是不包括小数的整数,通常情况下,int是最常用的整型,下面是简单的定义各个整型:

byte num1 = 12;
short num2 = 12;
int num3 = 12;
long num4 = 12L;//注意我们在数值后面添加一个L或者l来标识该数据类型是long,一般情况用大写,容易区分

四种整型的表示范围是不同的,byte数据类型,占1个字节大小;short数据类型,占2个字节大小;int数据类型,占4个字节大小;long数据类型,占8个字节大小。

进制

在我们计算机中有四种常用的进制,分别是:二进制、八进制、十进制、十六进制,我们在Java中默认使用的是十进制,各种进制的表示方法如下:

int num1 = 0b1011;//二进制,以0b开头
int num2 = 010;//八进制,以0开头
int num3 = 10;//十进制,默认
int num4 = 0x10;//十六进制,以0x开头

System.out.println(num1);//11
System.out.println(num2);//8
System.out.println(num3);//10
System.out.println(num4);//16

二进制就是逢二进一,借一当二。八进制就是逢八进一,借一当八。十六进制就是逢十六进一,借一当十六,其中组成是从0-9,A-F表示。

浮点数

浮点类型用于表示有小数部分的数值,在Java中有两种浮点类型,float、double。float占4个字节大小,double占8个字节大小。实例如下:

float f1 = 12.34F;//在数值的末尾添加一个F或者f用于标识位float类型
double d1 = 3.14;

浮点数是不精确的近似数,在进行计算的时候最好不要使用浮点数,如果需要进行浮点数的运算可以使用在Java中的工具类:BigDecimal类进行浮点数计算。浮点数也有一些注意事项如下:

float f1 = 0.1F;
double d1 = 1 / 0.1;
System.out.printf(f1 == d1);//false

float f1 = 232323232323232323F;
float f2 = f1 + 1;
System.out.println(f1 == f2);//true

第一个是因为浮点数是不精确的近似数,float和double的精确度数不一样,所以我们不能使用判断两个浮点数是否相等。第二个是内存溢出,超出表示访问之后,也无法精确表示,所以我们在进行数值运行的时候,一定不要使用浮点数进行,如果要使用浮点数可以使用BigDecimal工具类来进行。

字符

字符类型主要用于表示单个字符,Java中字符采用Unicode编码表示,如下:

char c1 = 'a';
char c2 = '中';

每一个字符都会有其对应的一个数字,这个是有关编码的知识。常见的编码有ASII编码,Unicode编码。所有的字符还是数字

布尔类型

在Java中布尔类型只有两个值,true或者false,如下:

boolean flag = true;
boolean flag2 = false;

转义字符

转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。因此转义字符开头的字符序列被叫做转义序列。

类型转换

Java中的类型分为两种:自动类型转换和强制类型转换,当从小范围的数转换到大范围的数时候会自动发生自动类型转换;当从大范围数转换成小范围的数的时候需要使用强制类型转换。实例如下:

int num1 = 200;
byte b = (byte)num1;

从大范围转换成小范围会出现精度丢失或者内存溢出问题。下面的情况会自动进行类型转换:
byte、short、char -> int -> long

int -> double

float -> doule

其它类型转换都需要强制类型转换。

两个数进行运算,如果有一个数为double,另一个数需要先转换到double再进行运算;如果有一个为float,另一个数需要先转换成float再进行运算;如果有一个为long,另一个数也需要先转换成long再进行运算;否则两个数都转换成int类型进行运算。

变量与常量

在Java中使用变量来存储值,常量就是不变的值,使用final来修饰,常量名字符全部大写,用_分割。变量包括类型、变量名、值三部分组成,常量也一样。实例如下:

double salary = 20000.0;
final double PI = 3.14;

在Java中有三种类型的变量:局部变量、实例变量、类变量。局部变量定义在方法内部,实例变量定义在类中,类变量也定义在类中。实例如下:

class User {
    private String username;//实例变量
    public static boolean FLAG = true;//类变量用static修饰
    
    public void add(){
        int num = 10;//局部变量
    }
}

三种变量的作用域是不相同,局部变量的作用域在方法内,实例变量随着对象的创建而声明,可以作用在类任意的地方,类变量可以作用在类中,随着类的创建而创建,生命周期是最长的。

运算符

运算符用于连接值,Java中提供了丰富的运算符。

算术运算符

在Java中,算术运算符有+,-,*,/,%,++,--。使用如下:

int num1 = 9;
int num2 = 2;
int result1 = num1 + num2;//11
int result2 = num1 - num2;//7
int result3 = num1 * num2;//18
int result4 = num1 / num2;//4
int result5 = num1 % num2;//1,相当于余数
num1++; //10
num2--;//1

自增(++),自减(--)分为前置和后置,二者有一些区别:

int num1 = 3;

int num2 = num1++;

int num3 = ++num1;

System.out.println(num1);//5
System.out.println(num2);//3
System.out.println(num3);//5

前置是先进行运算,再赋值,后置是先进行赋值,再进行运算。

逻辑运算符

在Java中逻辑运算符分为:逻辑与(&&)、逻辑或(||),逻辑非(!),实例如下:

boolean flag1 = true;
boolean flag2 = false;

System.out.println(flag1 && falg2);//false,两个中两个都为真,结果才为真
System.out.println(flag1 || falg2);//true,两个中有一个为真就为真
System.out.println(! flag1);//true,对结果取反

注意点:如果第一个能够判断出结果,第二个就不会在判断。

赋值运算符

最简单的赋值运算符=,扩展赋值运算符+=,-=,*=,/=,实例如下:

int num1 = 10;

num1 += 2; //12
num1 -= 2; //10
num1 *= 2; //20
num1 /= 2; //10

位运算符

位运算符用来对二进制位进行操作,Java中提供了如下表所示的位运算符:位运算符中,除 ~ 以外,其余均为二元运算符。& 按位与

| 按位或

^ 按位异或

~取反

>>右移

<<左移

条件运算符

在Java中有一个三元运算符,?:,使用如下:

int scode = 80;
String result = scode > 60 ? "及格" : "不及格";

当条件为真的时候就返回第一个结果,为假的时候就返回第二个结果。

posted @ 2021-09-20 11:38  无涯子wyz  阅读(49)  评论(0)    收藏  举报