初识Java语言

news2024/11/15 11:45:56

🐵本文将对Java的一些基本名称和基本数据类型进行讲解


1. 第一个Java程序

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

public class Hello 

被class修饰的称为,而当类被public修饰时,类名必须和该源文件的文件名相同,一个文件中可以有多个类,但是只能有一个被public修饰的类

public static void main(String[] args) {

        ...

}

这条语句称为类中的一个方法,void是方法的返回值类型,main是方法名,()中的是参数列表,String[] args是一个数组,String[]是数组的类型,大括号中的内容称为方法体,一个Java应用程序中必须有且仅有一个main()方法,而且必须用public、static进行修饰

System.out.println("Hello World");

这是Java当中的打印语句,语句中println会在打印完内容后自动换行,如果不想换行可以不加ln,这条语句打印的内容是一个字符串,在Java中字符串没有以'\0'结尾的说法

2. Java程序的运行

我们写代码的文件称为源文件(.java),源文件经过编译生成字节码文件(.class)字节码:字节码文件是由字节码组成与平台无关、面向JVM(Java虚拟机)的文件;.class文件通过JVM转换成平台能理解的形式来运行

3. 注释

单行注释//注释内容(用的最多)

多行注释/*注释内容*/

文档注释/**注释内容*/

4. 标识符

标识符中只能包含数字、字母、下划线、$,且不能以数字开头、不能是关键字、区分大小写

5. 数据类型

在Java中数据类型分为基本数据类型引用数据类型

5.1 基本数据类型

基本数据类型有4种:整型、浮点型、字符型、布尔型

1.无论在多少位操作系统下,int都占4个字节,long都占8个字节

2.整形和浮点型都是有符号类型,和C语言不一样,没有无符号类型这一说法

3.整形默认为int,浮点型默认为double

整形:int(整形)、short(短整型)、long(长整型)、byte(字节型)

浮点型:float(单精度浮点型)、double(双精度浮点型)

字符型:char(字符型)

布尔型:bool(布尔型)

5.2 引用数据类型

引用数据类型包含String、数组、接口等,该类型今后再做讲解

6. 变量

变量概念和和语法格式和C语言基本一致:数据类型 变量名 = 初始值

6.1 整型变量

6.1.1 int

int a = 4;//占4个字节
System.out.println(a);
int b;
System.out.println(b);//如果变量不进行初始化,那么代码在编译期间就会报错

//打印int的最大值和最小值
System.out.println(Integer.MAX_VALUE);//Integer为int的包装类型,后期会进行讲解
System.out.println(Integer.MIN_VALUE);
        
int c = 1000000000000000000;//如果初始值大于int型的最值也会在编译期间报错

整形范围:-2^31~(2^31)-1

6.1.2 long

long a = 8L; //对长整型变量赋值时后面加上l或L,建议用L
System.out.println(a);//占8个字节

//打印long的最大值和最小值
System.out.println(Long.MAX_VALUE);//Long为long的包装类型
System.out.println(Long.MIN_VALUE);

长整型范围:-2^63~(2^63)-1

6.1.3 short

short a = 2;//占2个字节
System.out.println(a);

//打印short的最大值和最小值
System.out.println(Short.MAX_VALUE);//Short为short的包装类型
System.out.println(Short.MIN_VALUE);

短整型范围:-32768 ~ 32767

6.1.4 byte

byte a = 1;//占1个字节
System.out.println(a);

//打印byte的最大值和最小值
System.out.println(Byte.MAX_VALUE);//Byte为byte的包装类型
System.out.println(Byte.MIN_VALUE);

字节型范围:-128 ~ 127

6.2 浮点型变量

6.2.1 double

double a = 3.14;//占8个字节
double b = 1;
System.out.println(a);
System.out.println(b);

double a = 1.1;
System.out.println(a*a);
//结果为1.2100000000000002,因为浮点型在内存中的存储方式不同
//在《深度剖析数据在内存中的存储》中有详细讲解

duoble的包装类型是Double,double也有范围但一般不去讨论

6.2.2 float

float a = 1.5f;//对单精度浮点型变量赋值时后面加上f或F
System.out.println(a);//占4个字节

float表示的数据精度范围较小,一般在使用浮点数时优先考虑double,float的包装类型为Float

6.3 字符型变量

6.3.1 char

char a = 'a'; //占2个字节
char b = '1';
char c = '猿';
System.out.println(a);//char的包装类型时Character
System.out.println(b);
System.out.println(c);

字符在内存中是以整形的形式存储的,在C语言中用ASCII来表示字符,而在Java中用Unicode来表示字符(Unicode中的字符占2个字节),一个字符占两个字节,可以表示更多的字符,包括中文

6.4 布尔型变量

6.4.1 boolean

boolean b = true;
System.out.println(b);
b = false;
System.out.println(b);//boolean的包装类型是Boolean

布尔型变量的取值只能是true和false,而且和0、1没有关系,不存在true是1,false是0的说法;boolean型变量和int型变量不能相互转换

b = false;
System.out.println(b + 1); //这样写会在编译期间报错

boolean变量没有明确占几个字节

7. 类型转换

类型转换分为2种:自动类型转换(隐式)强制类型转换(显式)

7.1 自动类型转换(隐式)

数据范围小的转为数据范围大的时,编译器在编译期间会将其自动类型转换,我们看不到

int a = 10;
long b = 100L;
a = b; //编译报错
b = a; //将a自动转换为long类型
System.out.println(b);

float c = 1.2f;
double d = 3.14;
c = d; //编译报错
d = c; //将c自动转换为double类型

7.2 强制类型转换(显示)

当数据大的类型转为数据小的类型时可以手动进行类型转换,和C语言一样

int a = 10;
long b = 100L;
a = (int)b;//范围大的数据赋值给范围小的数据要进行强制类型转换

byte c = (byte)258;//超过该类型的范围也要强制类型转换

boolean d = true;
//a = (int)d; //这里无论是否进行强制类型转换都会报错

强制类型转换不一定能成功,不相干的类型不能强制类型转换

8. 类型提升

1. int与long进行计算时int会被提升为long

int a  = 10;
long b = 20L;
long c = a + b;//a会被提升为long后进行计算

2. byte与byte

byte a = 1;
byte b = 2;
byte c = (byte)(a + b);//当运算符两边的操作数小于4字节时,操作数会被提升为int再进行计算,因此要对计算结果进行强转


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1135244.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

渗透测试工具-sqlmap使用

sqlmap是一个开源渗透测试的自动化工具,可以自动检测和利用SQL注入漏洞并接管数据库服务器。它配备了一个强大的检测引擎,许多用于终极渗透测试的利基功能,以及广泛的开关,包括数据库指纹识别、从数据库中获取数据、访问底层文件系…

NI Multisim 14.0使用技巧

资料 信号发生器 频率 占空比 振幅 偏置 示波器

【Java集合类面试二十八】、说一说TreeSet和HashSet的区别

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:说一说TreeSet和HashSet…

【Linux】从零开始学习Linux基本指令(三)

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔥该文章主要了解Linux操作系统下的基本指令。 ⚡️该篇为Linux指令部分的终章,如果您想了解前两篇文章的…

canvas常用方法,canvas绘制时钟案例

时钟案例实现 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Title</title><style>body {padding: 0;margin: 0;background-color: rgba(0, 0, 0, 0.1)}canvas {display: block;margin: …

list列表前端分页功能已经提交list时容易犯错的问题回顾

最近在开发中&#xff0c;有返回list需要前端分页的&#xff0c;而且后续还需提交整个list&#xff0c;虽说前端分页并不难&#xff0c;但还有会有一些问题&#xff1a; 从图片代码就可以很清晰的看到前端分页&#xff0c;如何点击页数翻页的&#xff0c;很简单&#xff0c;但…

《低代码指南》——如何用维格表实现餐饮数字化

信息 企业采购了相关餐饮 SssS 系统,很多餐饮企业一线员工对软件认知水平不足,在内部很难普遍推广餐饮系统员工不爱用,只有老板看,老板看完以后还要往下一级一级分发任务和指标各门店及岗位、仍存在办公协同困难大,一线员工还是人工处理数据,统计数据不及时、效率低、信息…

SSL证书优惠活动

当今互联网世界充满了网络威胁&#xff0c;安全性已经成为每个网站所有者和用户的首要关注。SSL证书是一种保护网站和用户数据安全的关键工具。为了帮助您提高您的网站安全性&#xff0c;在双十一来临之前&#xff0c;我们很高兴地宣布一项近乎疯狂的SSL证书优惠活动&#xff1…

信息科技如何做好风险管理

文章目录 前言介绍亮点结构读者对象 前言 信息科技对金融业务发展所起的作用是举足轻重的。 近年来&#xff0c;金融机构在战略规划中相继引入科技引领的概念。作为金融机构信息科技从业人员&#xff0c;我们笃信信息科技是一个非常有用的工具&#xff0c;一个兼具产品思维和管…

Ubuntu安装VM TOOLS解决虚拟机无法和WINDOWS粘贴复制问题

1&#xff1a;首先使用VMware Workstation安装一个Ubuntu的系统。 2&#xff1a;现在已经不建议安装VM TOOLS。建议安装OPEN-VM-TOOLS。 3&#xff1a;进入系统使用下面的命令安装。 sudo apt install open-vm-tools 4&#xff1a;提示下面错误&#xff0c;Package open-vm…

大麦抢票订单生成 大麦订单一键生成 大麦订单截图

1、能够一键的进行添加&#xff0c;生成的假订单是没有水印的&#xff0c;界面也很真实。 2、在软件中输入生成的信息&#xff0c;这里输入的是商品信息&#xff0c;选择生成的商品图片&#xff0c;最后生成即可。 新版大麦订单生成 图样式展示 这个样式图就是在大麦生成完…

学生专用台灯怎么选?双十一专业学生护眼台灯推荐

台灯应该是很多家庭都会备上一盏的家用灯具&#xff0c;很多大人平时间看书、用电脑都会用上它&#xff0c;不过更多的可能还是给家中的小孩学习、阅读使用的。而且现在的孩子近视率如此之高&#xff0c;这让家长们不得不重视孩子的视力健康问题。那么孩子学习使用的台灯应该怎…

禧侬农韶关基金发布会

禧侬农信息科技&#xff08;深圳&#xff09;有限公司韶产业引导基金发布会圆满成功 红润控股集团旗下子公司禧侬农信息科技&#xff08;深圳&#xff09;有限公司与香港开心联众集团在政府的见证和支持下&#xff0c;达成了产业引导基金的战略合作伙伴关系。这意味着未来禧侬…

UG\NX二次开发 修改dlx对话框标题的方法

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介 UG\NX二次开发 修改dlx对话框标题的方法 效果 代码 theDialog->TopBlock()->FindBlock("Dialog")->GetProperties()->SetString("Label"…

如何为你的地图数据设置地图样式?

地图样式设置是GIS系统中非常重要的功能模块&#xff0c;水经微图Web版本最近对符号样式功能模块进行了升级。 你可以通过以下网址直接打开访问&#xff1a; https://map.wemapgis.com 现在我们为大家分享一下水经微图Web版中&#xff0c;如何为你标注的地图数据设置地图样式…

【Linux】Socket(初识网络)

目录 一、网络初识1.协议2.OSI七层模型3.TCP/IP五层模型4.通讯原理图解 二、socket1.源IP和目的IP2.端口号3.端口号和进程ID4.初识TCP、UCP协议5.网络字节序 三、socket接口1.常见API2.sockaddr结构 一、网络初识 网络在计算机中的位置。 网络也是一种软件&#xff0c;所以网…

将设计模式门面模式运用到生活当中

文章目录 &#x1f31f; 如何将设计模式门面模式运用到生活当中&#x1f34a; 家居篇&#x1f389; 门锁控制&#x1f389; 窗帘控制 &#x1f34a; 旅游篇&#x1f389; 行程规划&#x1f389; 旅游出行 &#x1f34a; 金融篇&#x1f389; 网上银行&#x1f389; 投资产品 &a…

prosemirror 学习记录(四)decoration

使用 decorations 使用 props - decorations() 添加 decorations 写一个简单的插件&#xff1a;高亮所有 apple 节点 export const MyHighlightApplesPlugin new Plugin({props: {// view 每次变化都会执行 decorations 方法decorations(state) {let arrs [];state.doc.de…

Linux常用命令——chsh命令

在线Linux命令查询工具 chsh 用来更换登录系统时使用的shell 补充说明 chsh命令用来更换登录系统时使用的shell。若不指定任何参数与用户名称&#xff0c;则chsh会以应答的方式进行设置。 语法 chsh(选项)(参数)选项 -s<shell 名称>或--shell<shell 名称>&a…

【QT开发笔记-基础篇】| 第四章 事件QEvent | 4.10 总结QT中的事件传递流程

本节对应的视频讲解&#xff1a;B_站_链_接 【QT开发笔记-基础篇】 第4章 事件 4.10 总结事件传递流程(1) 事件处理函数接受还是忽略 本章要实现的整体效果如下&#xff1a; 事件传递总流程图&#xff0c;如下&#xff1a; 这张图是不是还不太明白&#xff1f;&#xff1f; 别…