JAVA语言基础

本文介绍了JAVA编程的基础知识,包括主类的结构,如权限修饰符public,static和void。接着详细讲解了基本数据类型,如整数、浮点、字符和布尔类型。此外,还讨论了变量和常量的声明与使用,以及赋值、算术、比较、逻辑和位运算符。最后,提到了数据类型转换,包括自动类型转换和强制类型转换的概念及示例。

 1.JAVA主类结构

JAVA语言是面向对象的程序设计语言,基本组成单位是类,类中包括属性与方法

类的属性分为全局属性和局部属性

public,static和void分别是main()的权限修饰符,静态修饰符和返回值修饰符

API类库

2.基本数据类型

整数类型:byte,short,ing,long

浮点类型:float,double

字符型:char,转义字符

布尔类型:Boolean

3.变量和常量

变量和常量是JAVA中存储数据的基本方式。在JAVA中,变量是用于存储数据的容器,而常量是在程序中不可改变的数据。

1. 变量:

在JAVA中,变量需要先声明后使用。声明变量时,需要指定变量类型,并可选地为变量赋初值。

例如,声明一个整型变量并赋值:

```
int a = 10;
```

在这个例子中,变量名为a,类型为int,值为10。

变量的类型包括整型(int),浮点型(float, double),字符型(char),布尔型(boolean)等,还包括复合类型数组型、类和接口类型等。

2. 常量:

常量的值在程序中是一直保持不变的。在JAVA中,可以通过关键字final来定义常量。

例如,定义一个整型常量:

```
final int DAYS_IN_WEEK = 7;
```

在这个例子中,常量的名字为DAYS_IN_WEEK,类型为int,值为7,由于它是一个常量,所以它的值不能被改变。

总的来说,变量和常量是JAVA程序中存储数据的重要方式,在程序中应根据需要选择合适的方式进行使用。

4.运算符

1.赋值运算符

赋值运算符是一种用于将一个值赋给一个变量的运算符。在Java中,赋值运算符使用等号(=)表示。

除了基本的赋值运算符(=)之外,Java还提供了一些复合赋值运算符,可以将算术运算、位运算、条件运算符等与赋值操作合并在一起。

常见的复合赋值运算符包括:

  • +=:加并赋值
  • -=:减并赋值
  • *=:乘并赋值
  • /=:除并赋值
  • %=:取模并赋值
  • <<=:左移并赋值
  • =:右移并赋值

  • &=:按位与并赋值
  • ^=:按位异或并赋值
  • |=:按位或并赋值

2.算术运算符

Java中的算数运算符可以完成基本的算术运算,包括加、减、乘、除和取模运算。下面是Java中常见的算术运算符:

  • 加法运算符(+):将两个数相加。
  • 减法运算符(-):从一个数中减去另一个数。
  • 乘法运算符(*):将两个数相乘。
  • 除法运算符(/):将一个数除以另一个数。
  • 取模运算符(%):返回两个数相除的余数。

3.自增和自减运算符

自增和自减运算符是Java中的特殊运算符,用于对变量进行加一或减一操作。它们可以简化代码并提高代码的可读性。

Java中有两种自增和自减运算符:前缀和后缀。前缀运算符(++i 和 --i)在变量被使用前就会进行加一或减一操作;后缀运算符(i++ 和 i--)则会在变量被使用后再进行加一或减一操作

4.比较运算符

比较运算符是Java中用于进行比较操作的运算符,主要用于比较两个值是否相等、大小关系等。Java中常用的比较运算符有以下几种:

  • == 表示等于
  • != 表示不等于
  • < 表示小于
  • > 表示大于
  • <= 表示小于等于
  • >= 表示大于等于

除了 == 和 != 用于比较数值或对象是否相等外,其他比较运算符主要用于比较数值之间的大小关系

5.逻辑运算符

逻辑运算符是Java中用于连接布尔表达式的运算符,主要包括三种:逻辑与(&&)、逻辑或(||)和逻辑非(!)。以下是每种运算符的含义:

- 逻辑与(&&):当两个布尔表达式都为true时,整个表达式才为true;否则,整个表达式为false。
- 逻辑或(||):当两个布尔表达式中至少有一个为true时,整个表达式就为true;否则,整个表达式为false。
- 逻辑非(!):将一个布尔表达式的值取反。如果原始表达式的值为true,则取反后为false;如果原始表达式的值为false,则取反后为true。

以下是一些示例代码:

```java
boolean a = true;
boolean b = false;

// 逻辑与
System.out.println(a && b); // false,因为 b 为 false,整个表达式就为false
System.out.println(a && !b); // true,因为 a 为true,b 取反后为true,整个表达式就为true

// 逻辑或
System.out.println(a || b); // true,因为 a 为true,整个表达式就为true
System.out.println(!a || b); // false,因为 a 取反后为false,b 为false,整个表达式就为false

// 逻辑非
System.out.println(!a); // false,因为 a 为true,取反后为false
System.out.println(!b); // true,因为 b 为false,取反后为true
```

需要注意的是,逻辑与(&&)和逻辑或(||)采用了短路求值的策略,也就是说,只要能够确定整个表达式的值,就不会再继续计算剩余的表达式。例如,在表达式 `a && b` 中,如果 a 的值为false,整个表达式的值就已经确定为false了,就不会再计算 b 的值。这种短路求值的特性在一些情况下可以提高程序的效率。

6.位运算符

位运算符是Java中用于对二进制数进行操作的运算符。Java支持以下位运算符:

  • 按位与(&):对两个二进制数的每个位执行与操作,只有当两个位都为1时,结果才为1。
  • 按位或(|):对两个二进制数的每个位执行或操作,只要有一个位为1,结果就为1。
  • 按位异或(^):对两个二进制数的每个位执行异或操作,当两个位相同时,结果为0,不同时,结果为1。
  • 按位非(~):对一个二进制数的每个位执行非操作,即将所有位取反(0变为1,1变为0)。

以下是一些示例代码:

7.三元运算符

三元运算符也称为“条件运算符”,是Java中唯一一个需要三个操作数的运算符,格式如下:

```
布尔表达式 ? 表达式1 : 表达式2
```

它的作用是根据布尔表达式的结果,决定选择表达式1还是表达式2作为整个表达式的结果。

如果布尔表达式的结果为true,表达式1将被计算;如果为false,表达式2将被计算。

以下是一个示例代码:

```java
int a = 10;
int b = 20;

int maxValue = (a > b) ? a : b;
System.out.println("最大值为:" + maxValue);
```

在这个示例中,我们使用三元运算符比较了a和b的大小,如果a大于b,将a赋值给maxValue,否则将b赋值给maxValue。通过输出结果可以看到,这个程序输出的结果为“最大值为:20”,符合我们的预期。

需要注意的是,三元运算符只是一种语法糖,也就是一种简化代码的写法,我们完全可以使用if-else语句来实现同样的效果。

5.数据类型转换

数据类型转换是将一种数据类型的值转换为另一种数据类型的过程。在Java中,数据类型转换可以分为两种:自动类型转换和强制类型转换。

1. 自动类型转换

自动类型转换也称为隐式类型转换,是指将一种数据类型转换为相对应的另一种数据类型,而无需人工干预的过程。在Java中,自动类型转换规则如下:

- 将一个低容量的数据类型转换为高容量的数据类型时,Java会自动进行类型转换。例如:int类型转换为long类型。

- 对于byte、char、short之间进行数值运算时,会先将它们转换为int类型,再进行运算。

- 对于赋值操作,赋值的数据类型可以自动转换为变量类型,但是如果数据类型超出了变量类型的范围,则会发生错误。

以下是一个示例代码:

```java
int a = 10;
long b = a; // 自动类型转换,将int类型赋值给long类型
System.out.println(b); // 输出结果为10

short c = 1;
short d = 2;
short e = (short)(c + d); // 自动类型转换为int类型,需要强制类型转换为short类型
System.out.println(e); // 输出结果为3
```

2. 强制类型转换

强制类型转换也称为显式类型转换,是指将一种数据类型转换为相对应的另一种数据类型,需要人工干预的过程。强制类型转换需要使用括号,将要转换的数据类型放在括号内。

需要注意的是,强制类型转换可能会导致数据溢出或精度损失,因此在进行强制类型转换时,需要特别注意数据类型的范围和精度。

以下是一个示例代码:

```java
double f = 3.14;
int g = (int)f; // 强制类型转换,将double类型转换为int类型
System.out.println(g); // 输出结果为3

int h = 1000;
byte i = (byte)h; // 强制类型转换,将int类型转换为byte类型
System.out.println(i); // 输出结果为-24,由于数据范围超出了byte类型的范围,导致数据溢出
```

需要注意的是,在进行强制类型转换时,需要保证转换的数据类型是兼容的,否则会出现编译错误。例如,将字符串类型转换为整数类型时,需要使用Integer.parseInt()方法。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值