Java开发基础

文章介绍了Java编程的起点,包括推荐使用IDEA作为开发环境,编写并运行第一个Hello,World!程序,讲解了Java的package和class概念。接着,详细阐述了Java中的保留字、标识符、基本数据类型(整数、浮点数、boolean),位运算(与、或、异或、位移位)以及枚举类型的应用。内容涵盖类型转换和枚举类型的索引值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.安装程序推荐

2.第一个Java程序

项目结构图:

3.保留字,标志符,基本数据类型

整数:

位运算:

逻辑位运算

位移位运算

浮点数

boolean类型

4.类型转换

5.枚举类型


1.安装程序推荐

IDEA

2.第一个Java程序

.class 文件是编译后的Java字节文件,.jar 文件是打包后的发布文件,需将.jar文件在JDK环境中使用。

package test;

public class test {
    public static void main(String[] args){
        System.out.println("Hello,World!");
    }
}

package语句,指定当前文件的代码定义在哪个包中;

包(package)是Java代码的基本组织形式,除了使用package,还可以使用import语句引用其他包中的资源;

class(类)中可以包含很多成员,main()方法 ,是应用执行的入口。

项目结构图:

src下新建test软件包,在test软件包下新建test.java文件

 对于使用特殊指令的注释,Javadoc命令可创建HTML文档

3.保留字,标志符,基本数据类型

// final关键字定义的标识符称为常量
final double pi = 3.1415926

整数:

整数以0开头时定义为八进制数,如020表示十进制数16;

整数以0x开头时定义为十六进制数,如0xF表示十进制数15;

整数以0b开头时定义为二进制数,如0b0101表示十进制数5。

public static void main(String[] args){
     System.out.println(020);
     System.out.println(0xF);
     System.out.println(0b0101);
}

注:整数运算的结果依然是整数,如果运算数的类型不一样,则统一转换为取值范围较大的类型,然后进行计算。

位运算:

逻辑位运算

四个位运算:与、或、取反、异或

其中与(&)、或(|)、异或(^)皆为两个二进制数的比较,而取反(~)则对自身每一位进行操作;异或——两个二进制位数据相同时返回0,不同时返回1。

public class test {
    public static void main(String[] args){
        byte x = 0b00000010;
        System.out.println(~x);
    }
}

// 输出为 -3

解释:对于x=2的取反为-3,原因:byte类型的数据是由符号的,即最高位是符号位,1/0分别代表负/正。当数据为负数时,其二进制实际上是其绝对的补码形式(即原码按位取反+1),本处逆推可知输出为-3。 

位移位运算

三个位移运算:

1.  << (左移运算,二进制位向左移动,低位补0),当整数x进行左移n位运算时,就是在执行x*2^{n}的运算;

思考题:

System.out.println((byte)(0b11000001<<1));  //-126

 解释:首先0b11000001左移得到0b110000010,如果是int类型,即为386,由于数据强制转换为byte类型,而byte类型只能保存8位整数,那么为0b10000010,其最高为1,为负数,由上文知识计算为-126。

2.  >>  (右移运算符,二进制位向右移动,此时,符号位不动,右移空出的高位要补上与符号位相同的数据),当整数x进行右移n位运算时,就是在执行x/2^{n}的运算 ;

3.  >>> (无符号右移运算符,执行此运算时,不考虑符号位,数据整体右移,并在高位补0

System.out.println((byte)0b11000000>>2); //-16
System.out.println(0b1010>>>1); // 5

浮点数

double类型,可以用d或D后缀,如 98.8d

float类型,可以用f或F后缀,如 99f

boolean类型

相关运算:逻辑与运算(&&),逻辑或运算(||),逻辑取反运算(!)

4.类型转换

4.1 隐式转换

当把一个取值范围小的类型转换为取值范围较大的类型时,可以进行隐式转换。

int x = 100;
long y = x;

4.2 强制转换

将取值范围大的类型转换为取值范围小的范围

long x = 100;
int y = x;

 注:进行类型的强制转换时,如果数据超出了目标类型的取值范围,会进行截断操作,数据内容也会改变,实际开发应该避免。例如。浮点数转为整数,会丢失小数部分。

5.枚举类型

输入固定数据,防止输入意外和意外赋值,采取枚举类型的方法,需要在方法的外部定义其他类型。另外,枚举类型中,每个成员都会有一个整数索引值;当在枚举类型和整数类型之间进行转换时,实际上就是在成员索引值和成员名称之间进行转换。

//性别枚举类型
enum Esex { unknow,male,female};
public static void main(String[] args){
      Esex sex = Esex.male;
      System.out.println(sex.ordinal()); // 1——枚举成员的索引值
      System.out.println(Esex.values()[2]);  // female
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小羽儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值