Java语言基础

本文介绍了Java程序的基础,包括主类结构、变量、数据类型及其转换。讲解了包声明、成员变量与局部变量的声明,以及主方法的语法。详细阐述了基本数据类型如整数、浮点、字符和布尔类型,并解析了变量与常量的使用规则。此外,还涵盖了运算符的种类和用法,包括赋值、算术、比较、逻辑及位运算符。最后讨论了数据类型转换以及代码注释的重要性。
摘要由CSDN通过智能技术生成

1、Java主类结构

​ Java程序的基本组成单元是类,类中包含属性和方法。每一个应用程序都必须包含一个main()方法,有main()方法的类是主类

1.1 包声明

​ 一个Java应用程序由多个类组成,将类或者其他文件归类的文件就是包。

1.2 声明成员变量和局部变量

成员变量(全局变量):类中的属性,声明在类体中。

局部变量:方法中的属性,声明在方法体中。

1.3 编写主方法

public static void main(String args[]):

public:权限修饰符

static:静态修饰符

void:返回值修饰符

String args[]:字符串类型的数组,是main方法中的参数

2、基本数据类型

2.1 整数类型

存储整数数值,即没有小数部分的数值。可以是正数也可以是负数。整数在Java中有3中表现形式:十进制、八进制、十六进制。

十进制:除了0,不能以0作为其他十进制数的开头

八进制:0123(十进制:83):必须以0开头

十六进制:0X25(转换成十进制:83) :必须以0X或者0x开头

数据类型内存空间(8位等于1字节)取值范围
byte8位-128~127
short16位-32768~32767
int32位-2147483648-2147483647
long64位-9223372036854775808~9223372036854775807

2.2 浮点类型

有小数部分的数字,Java语言分为单精度浮点型和双精度浮点型。

数据类型内存空间(8位等于1字节)取值范围
float32位1.4E-45~3.4028235E38
double64位4.9E-324~1.7976931348623157E308

默认情况下,小数会被看做double型,若使用float型小数,则需要在小数后面加F或者f。

2.3 字符类型

**char型:**存储单个字符,占16位(2个字节)的内存空间,定义时,用单引号表示。

转义字符:一种特殊的字符变量,以反斜杠“\”开头,转义字符如下表:

转义字符含义
\ddd1~3位八进制数据所表示的字符
\uxxxx4位十六进制数据所表示的字符
\’单引号字符
\\反斜杠字符
\t垂直制表符,将光标移动到下一个制表符的位置(空格)
\r回车
\n换行
\b退格
\f换页

2.4 布尔类型

又称逻辑类型,通过boolean来定义布尔类型,只有true和false两个值。

3、变量与常量

常量:程序执行过程中,其值不能被改变的量(用final修饰,通常使用大写字母<非必须>,只能进行一次赋值

变量:程序执行过程中,其值可以被改变的量

3.1 标识符和关键字

标识符:

​ 定义:用来标识类名、变量名、方法名、数组名、文件名的有效字符序列,就是一个名字。

​ 命名规则:由字母、数字、下划线(_)、美元符合($)组成,但是不能以数字开头

**关键字:**Java语言已经被赋予了特定意义的单词,不可作为标识符。

3.2 声明变量

告诉编译器这个变量的数据类型,这样编译器才知道分配多少内存空间,应该保存什么类型的数据。

变量命名规则:

  1. 必须是一个有效的标识符
  2. 不可以使用Java关键字
  3. 不能重复
  4. 应选择有意义的单词(定义变量时,变量名允许使用汉字或其他语言,程序执行也不会报错,但是不建议使用这些语言命名)

3.3 声明常量

当定义的final属性属于成员变量时,必须在定义时就设定它的初值,否则会报错

public class Part{
    static final double PI = 3.14;//定义的属性属于成员变量,所以必须在定义时就赋初值
    public static void main(String args[]){
        final int number;//声明int型的常量
        number = 1019;//对常量number进行赋值
        //number = 520;   不可以,因为常量只能进行一次赋值
    }
}

3.4 变量的有效范围

**成员变量的有效范围(作用域):**整个类都有效,又可分为实例变量和静态变量

class a{
    int x = 10;//实例变量
    static int y = 19;//静态变量:被static修饰,可以实现跨类使用(范围可达到整个应用程序),通过“类名.静态变量”在其他类中获取(获取)
}

**局部变量:**类的方法中定义的变量,只在当前代码块(方法体中)有效。当方法被调用的时候,Java虚拟机会为此变量内存空间,方法调用结束后,会释放局部变量。局部变量可以和成员变量的名字相同,局部变量的值会覆盖成员变量的值。

4、运算符

4.1 赋值运算符

​ “=”表示,是一个二元运算符(对两个操作数进行处理)。将右边操作数的值赋给左边,如果有多个=,则先执行右边的。

4.2 算数运算符

​ 加(+)、减(-)、乘(*)、除(/)、求余(%)

4.3 自增、自减运算符

单目运算符,可以放在操作元之前,也可以放在操作元之后。

++a(--a) //先将a的值进行加一或者减一操作,再将a的值进行下一步操作
a++(a--) //先将a的值进行操作,再将其进行加一或者减一操作

4.4 比较运算符

​ 二元运算符,结果为布尔类型,比较运算符如下表:

运算符操作数据类型
>整型、浮点型、字符型
<整型、浮点型、字符型
==基本数据类型、引用型
>=整型、浮点型、字符型
<=整型、浮点型、字符型
!=基本数据类型、引用型

4.5 逻辑运算符

返回的类型为布尔值的表达式,逻辑运算符的用法和含义如下表:

运算符含义用法结合方向
&&、&逻辑与(一假为假)a&&b从左到右
||逻辑或(一真为真)a||b从左到右
逻辑非!a从右到左

&&与&的区别:都表示逻辑与

​ &:会判断两边的表达式

​ &&:当左边的表达式为false,则不会判断右边的表达式(成为“短路”);同理,||:当左边的表达式为真,则不会去判断右边的表达式。

4.6 位运算符

处理整数的操作数(二进制数),左边最高位为符号位,0表示正数,1表示负数

  • 按位与(&):双目运算符,运算时,a,b两个数对应位都为1,则结果为1;否则为0

  • 按位或(|):双目运算符,运算时,a,b两个数对应为都为0,则结果为0;否则为1

  • 按位取反(按位非):单目运算符,运算符为~,运算时,就是将一个二进制数的0变成1,1变成0

  • 按位异或,双目运算符,运算符为^,运算时,a,b两个数对应位置相同(都为0或1时),结果为0,否则为1

  • 移位操作:(最高的那个符号位不参与移位),如下表

    运算符描述功能(作用)
    左移(<<)除符号位外,右边的所有数向左移动n位,右边移空的部分补0实现乘以2的n次方效果
    右移(>>)最高位为0,右移空的位补0;最高位为1,右移空的位补1实现除以2的n次方效果
    无符号右移(>>)无论最高位为0还是1,左侧被移空的部分都补0

4.7 三元运算符

使用格式:条件式?a:b

运算规则:若条件式的值为真则取a的值,若为假则取b的值

等价于if……else语句

4.8 运算符的优先级

由高到低:增量或增减运算符;算术运算符;比较运算符;逻辑运算符;赋值运算符

在写程序时,尽量使用空号来限定运算次序。

5、数据类型转换

5.1 隐式类型转换

由低级类型向高级类型转换,系统自动转换。类型按精读从高到低排序:byte<short<int<long<float<double

int x = 50;
float y = x;  //y的值为50.0

5.2 显式类型转换(强制类型转换)

将高精度的变量赋值给低精度的变量,需要进行强制转换。

int a = (int)10.19 //输出a的值为10
long b= (long)123.4F //输出b额值为123
int c = (int)'d' //输出c的值为100

6、代码注释规范

写代码时要多写注释来提高代码的可读性和可维护性。

//此处为单行注释内容,用“//”标记

/*
此处为多行注释内容
*/

/**
此处为文档注释
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值