【Java从入门到精通】这也许就是Java火热的原因吧!

前言:
Java是一种高级的、面向对象的、可跨平台的程序设计语言。Java根据技术类别可划分为以下几类:JavaSE(Standard Edition,标准版):支持面向桌面、嵌入式和移动设备的应用程序开发;JavaEE(Enterprise Edition,企业版):支持基于Web的大型企业应用程序开发;JavaME(Mobile Edition,移动版):支持嵌入式设备和移动设备的应用程序开发 。本文主要讲解JavaSE中的知识点。
Java 语言基础
- Java 主类结构
- 1.Java中的基本数据类型
- 2.Java中的变量与常量
- 2.1标识符和关键字
- 2.2声明变量
- 2.3声明常量
- 3.Java中的运 算 符
- 4.数据类型转换
- 5.Java从入门到精通
Java 主类结构
Java 语言是面向对象的程序设计语言,Java 程序的基本组成单元是类,类体中又包括属性与方法两部分。每一个应用程序都必须包含一个 main()方法,含有 main()方法的类称为主类。下面通过程序来介绍 Java 主类结构。
让我们来看个例子:创建主类并调用其主方法
Eclipse 下依次创建项目 item、包 Number 和类 First。在类体中输入以下代码,实现在控制台上输出“你好 Java”。
package Number;
public class First {
static String s1 = "你好";
public static void main(String[] args) { String s2 = "Java"; System.out.println(s1); System.out.println(s2); }
}
运行结果如下:
你好
Java
注意:代码中的所有标点符号都是英文字符。不要在中文输入法状态下输入标点符号,如双引号和分
号,否则会导致编译错误。文件名必须和类名 First 相同,即 First.java。还要注意大小写,Java 是区分大小写的。
1.Java中的基本数据类型

整数类型简称整型,用来存储整数数值,即没有小数部分的数值。它们可以是正数,也可以是负数。整型数据根据它所占内存大小的不同,可分为 byte、short、int 和 long 4 种类型。它们具有不同的取值范围,可看下表:

因内容较多,这里我就只对int整型数据类型做介绍哈!
定义 int 型变量有以下 4 种语法:
int x; //定义 int 型变量 x
int x,y; //同时定义 int 型变量 x,y
int x = 10,y = -5; //同时定义 int 型变量 x,y 并赋予初值
int x = 5 + 23; //定义 int 型变量 x,并赋予公式(5+23)计算结果的初值
int 型变量在内存中占 4 字节,也就是 32 位,在计算机中 bit 是由 0 和 1 来表示的,所以 int 型值 5
在计算机中是这样显示的:
00000000 00000000 00000000 00000101
int 型是 Java 整型值的默认数据类型。当对多个尚未定义数据类型的整数做运算时,运算的结果将
默认为 int 类型。例如,下面这行代码:
System.out.println(15 + 20); //输出 35
等同于如下代码:
int a = 15;
int b = 20;
int c = a + b;
System.out.println(c); //输出 35
注意:
整数在 Java 程序中有 3 种表示形式,分别为十进制、八进制和十六进制。
- (1)十进制:十进制的表现形式大家都很熟悉,如 120、0、-127。除了数字 0,不能以 0 作
为其他十进制数的开头。 - (2)八进制:如 0123(转换成十进制数为 83)、-0123(转换成十进制数为-83)。八进制数
必须以 0 开头。 - (3)十六进制:如 0x25(转换成十进制数为 37)、0Xb01e(转换成十进制数为 45086)。十
六进制数必须以 0X 或 0x 开头。
2.Java中的变量与常量
在程序执行过程中,其值不能被改变的量称为常量,其值能被改变的量称为变量。变量与常量的命
名都必须使用合法的标识符。本节将向读者讲解标识符与关键字、变量与常量的声明、变量的有效范围。
2.1标识符和关键字
1.标识符
标识符可以简单地被理解为一个名字,它是用来标识类名、变量名、方法名、数组名、文件名的
有效字符序列。
Java 语言规定标识符由任意顺序的字母、下画线(_)、美元符号($)和数字组成,并且第一个字符不能是数字。标识符不能是 Java 中的关键字(保留字)。
下面是合法标识符:
name
user_age
$page
下面是非法标识符:
4word
String
User name
Java 语言中,标识符中的字母是严格区分大小写的,如 good 和 Good 是不同的两个标识符。Java语言使用 Unicode 标准字符集,最多可以标识 65535 个字符。因此,Java 语言中的字母不仅包括通常的拉丁文字 a、b、c 等,还包括汉语、日语以及其他许多语言中的文字。
2.关键字
关键字又称保留字,是 Java 语言中已经被赋予特定意义的一些单词,不可以把这些单词作为标识符来使用。
2.2声明变量
变量的使用是程序设计中一个十分重要的环节。声明变量就是要告诉编译(compiler)这个变量的数据类型,这样编译器才知道需要配置多少空间给它,以及它能存放什么样的数据。在程序运行过程中,空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。变量名必须是合法的标识符。内存空间内的值就是变量值。在声明变量时可以不用赋值,也可以直接赋予初值。
例如,声明一个整数类型变量和声明一个字符类型变量,代码如下:
int age; //声明 int 型变量
char char1 = 'r'; //声明 char 型变量并赋值

说明:在 Java 语言中允许使用汉字或其他语言文字作为变量名,如“int 年龄 = 21”,在程序运行时
不会出现错误,但建议读者尽量不要使用这些语言文字作为变量名。
2.3声明常量
在程序运行过程中一直不会改变的量被称为常量(constant),通常也被称为“final 变量”。常量在整个程序中只能被赋值一次。在为所有的对象共享值时,常量是非常有用的。
在 Java 语言中声明一个常量,除了要指定数据类型,还需要通过 final 关键字进行限定。声明常量的标准语法如下:
final 数据类型 常量名称 [ = 值]
常量名通常使用大写字母,但这并不是必需的。很多 Java 程序员使用大写字母表示常量,是为了清楚地表明正在使用常量。
例如,声明常量 π(程序中用 PI 表示),代码如下:
final double PI = 3.1415926D; //声明 double 型常量 PI 并赋值
当变量被 final 关键字修饰时,该变量就变成了常量,必须在定义时就设定它的初值,否则将会产
生编译错误。
3.Java中的运 算 符
运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面。Java 中提供了丰富的运算符,如赋值运算符、算术运算符、比较运算符等。
赋值运算符
赋值运算符以符号“=”表示,它是一个二元运算符(对两个操作数做处理),其功能是将右方操作数所含的值赋给左方的操作数。例如:
int a = 100;
该表达式是将 100 赋值给变量 a。左方的操作数必须是一个变量,而右边的操作数则可以是任何表达式,包括变量(如 a、number)、常量(如 123、‘book’)、有效的表达式(如 45 * 12)。
由于赋值运算符“=”处理时会先取得右方表达式处理后的结果,因此一个表达式中若含有两个以上的“=”运算符,会从最右方的“=”开始处理。
算术运算符
Java 中的算术运算符主要有+(加)、-(减)、*(乘)、/(除)、%(求余),它们都是二元运算符。Java 中算术运算符的功能及使用方式见下表:

其中,“+”和“-”运算符还可以作为数值的正负符号,如+5、-7。
注意:在进行除法运算时,0 不能做除数。例如,对于语句“int a = 5 / 0;”,系统会抛出ArithmeticException
异常。
4.数据类型转换
类型转换是将一个值从一种类型更改为另一种类型的过程。例如,可以将 String 类型的数据“457”转换为数值型,也可以将任意类型的数据转换为 String 类型。
如果从低精度数据类型向高精度数据类型转换,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度数据类型转换时,则会有信息丢失,有可能失败。
数据类型转换有两种方式,即隐式转换与显式转换。
隐式类型转换
从低级类型向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这种类型的转换被称为隐式转换。下列基本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按精度从低到高排列的顺序为 byte < short < int < long < float < double。
例如,可以将 int 型变量直接赋值给 float 型变量,此时 int 型变量将隐式转换成 float 型变量。代码如下:
int x = 50; //声明 int 型变量 x
float y = x; //将 x 赋值给 y,y 的值为 50.0
显式类型转换
当把高精度的变量的值赋给低精度的变量时,必须使用显式类型转换运算(又称强制类型转换)。
语法如下:
(类型名)要转换的值
例如,将高精度数字转换为低精度数字。代码如下:
int a = (int)45.23; //此时输出 a 的值为 45
long y = (long)456.6F; //此时输出 y 的值为 456
int b = (int)'d'; //此时输出 b 的值为 100
执行显式类型转换时,可能会导致精度损失。除 boolean 类型外,其他基本类型都能以显式类型转换的方法实现转换
注意:当把整数赋值给一个 byte、short、int、long 型变量时,不可以超出这些变量的取值范围,则
必须进行强制类型转换。例如:
byte b = (byte)129;
5.Java从入门到精通
OK,本文关于JavaSE中的一些基础讲解就先到此为此了,以上关于Java的内容均来自《Java从入门到精通》这本书籍,如果有想要更加深入了解Java或者对这本书感兴趣的小伙伴,可以自行在下方选择是否购买哦!
京东自营:https://item.jd.com/14067396.html
当当自营:http://product.dangdang.com/29600459.html

相关文章:
【Java从入门到精通】这也许就是Java火热的原因吧!
前言:Java是一种高级的、面向对象的、可跨平台的程序设计语言。Java根据技术类别可划分为以下几类:JavaSE(Standard Edition,标准版):支持面向桌面、嵌入式和移动设备的应用程序开发;JavaEE&…...
zTasker—简洁易用强大的定时热键一体自动化工具,效率倍增器
软件名称 zTasker 应用平台 PC Windows7及以上 一句简介 市面上定时类软件很多,但无一例外功能都很单一,要完成不同的任务,需要不同的软件 市面上的热键软件,要么功能少,要么像是AutoHotKey这样对于一般用户太专业…...
惊艳时装界!AIGC风暴来袭,从设计到生产的全新体验
时尚是一个不断演进的领域,充满创新和独创性,但现在,创新迈入了一个崭新的境界——人工智能生成内容(AIGC)。这个革命性的技术,改变了时装设计的游戏规则。在过去的几年里,人工智能已经深刻地改…...
element -ui table表格内容无限滚动 使用插件vue-seamless-scroll
使用插件 一、安装组件依赖 npm install vue-seamless-scroll 二、引入组件 import vueSeamlessScroll from "vue-seamless-scroll"; components: { vueSeamlessScroll }, <div class"table-list "><vue-seamless-scroll :class-option"…...
如何在windows环境下编译T
一, 安装MYSYS2 1. 去https://www.msys2.org下载 msys2-x86_64-xxxxx.exe; 2. 按照msys2.org主页提示的步骤安装; 3.安装完默认起来的是 UCRT的, 可以根据环境的需要选择, 我选择的 MSYS2 MINGW64 4. 搭建编译环境, 安装对应的软…...
USB接口针式打印机
1 针式打印机原理 - 针式打印机16针是纵向排列,每次打印垂直的16bit,然后右移一bit,继续下列打印;字节的MSB表示最上面的点,字节LSB表示最下面的点 - 由于汉字字模的点阵是横向排列的,而提供给打印头的信息…...
外贸建站教程步骤有哪些?独立站怎么搭建?
推荐的外贸建站教程?制作国际贸易网站的流程? 对于那些希望将产品或服务推向全球市场的企业来说,建立一个专业、具有吸引力的网站是至关重要的。下面115SHOP将介绍外贸建站教程的关键步骤,帮助您更好地了解如何在国际市场上建立您…...
useGetState自定义hooks解决useState 异步回调获取不到最新值
setState 的两种传参方式 1、直接传入新值 setState(options); const [state, setState] useState(0); setState(state 1); 2、传入回调函数 setState(callBack); const [state, setState] useState(0); setState((prevState) > prevState 1); // prevState 是改变之…...
input子系统框架、外设驱动开发
一、input子系统基本框架 Linux内核为了两个目的: 简化纯输入类外设(如:键盘、鼠标、游戏杆、轨迹球、触摸屏。。。等等)的驱动开发统一输入类外设产生的数据格式(struct input_event),更加方…...
Google Chrome 浏览器以全屏模式打开
目录 前言以全屏模式打开禁止弹出无法更新的提示窗禁止翻译网页Chrome设置禁止翻译网页可能1可能2可能3 网页添加指令禁止Chrome翻译网页 禁用脚本气泡浏览器解决办法html解决办法方法1:鼠标滑过超链接时,使状态栏不出现超链接方法2:方法3&am…...
安装torch113、cuda116并运行demo【Transformer】
文章目录 01. 导读02. 显卡驱动版本03. 创建环境、下载安装必要包04. 运行参考代码: 01. 导读 安装torch113、cuda116并运行demo【Transformer】 02. 显卡驱动版本 C:\Users\Administrator>nvidia-smi -l 10 Wed Sep 13 23:35:08 2023 ----------------------…...
基于scRNA-seq的GRN分析三阴性乳腺癌的肿瘤异质性
三阴性乳腺癌即TNBC是一种肿瘤异质性高的乳腺癌亚型。最近的研究表明,TNBC患者可能包含具有不同分子亚型的细胞。此外,基于scRNA-seq数据构建的GRN已经证明了对关键调控因子研究的重要性。作者使用scRNA-seq对TNBC患者的GRN进行了全面分析。从scRNA-seq数…...
Python:二进制文件实现等间隔取相同数据量并合并
举例:每3byte为一页,每3页为一wl。将所有wl的第一页/第二页/第三页分别合并为一个文件。 data b\x01\x02\x03\x04\x05\x06\x07\x08\x09\x01\x02\x03\x04\x05\x06\x07\x08\x09\x01\x02\x03\x04\x05\x06\x07\x08\x09\x01\x02\x03\x04\x05\x06\x07\x08\x0…...
python使用openvc库进行图像数据增强
以下是使用Python和OpenCV库实现图像数据增强的简单示例代码,其中包括常用的数据增强操作: import cv2 import numpy as np import os# 水平翻转 def horizontal_flip(image):return cv2.flip(image, 1)# 垂直翻转 def vertical_flip(image):return cv2…...
如何利用Api接口获取手机当前的网络位置信息
在移动互联网时代,手机定位已经成为了一个日常化的需求,无论是导航、社交还是打车等服务都需要获取手机的位置信息。而获取手机位置信息最基础的一步就是获取手机当前的网络位置信息,本文将介绍如何利用API接口获取手机当前的网络位置信息。 …...
vue-elementPlus自动按需导入和主题定制
elementPlus自动按需导入 装包 -> 配置 1. 装包(主包和两个插件包) $ npm install element-plus --save npm install -D unplugin-vue-components unplugin-auto-import 2. 配置 在vite.config.js文件中配置,配置完重启(n…...
idea中dataBase模板生成
controller.java.vm ##定义初始变量 #set($tableName $tool.append($tableInfo.name, "Controller")) ##设置回调 $!callback.setFileName($tool.append($tableName, ".java")) $!callback.setSavePath($tool.append($tableInfo.savePath, "/contro…...
pc端测试手机浏览器运行情况,主要是测试硬件功能
测试h5震动摇晃等功能时不方便测试,需要连电脑显示调试数据 方法: 1.需要手机下载谷歌浏览器,pc端用edge或这谷歌浏览器 2.手机打开USB调试,打开要测试的网页 3.pc端地址栏输入edge://inspect/#devices(这里用的edge浏…...
软件概要设计-架构真题(二十五)
软件概要设计包括软件设计的结构、确定系统功能模块及其相互关系,主要采用()描述程序的结构。(2018年) 程序流程图、PAD图和伪代码模块结构图、数据流图和盒图模块结构图、层次图和HIPO图程序流程图、数据流图和层次图…...
CSDN发文表情包整理
文章目录 简介部分Emoji表情符号简表人物自然物品地点符号 各种Emoji表情链接 简介 CSDN支持Markdown语法及Emoji表情,使用各种Emoji表情可以使得自己的博文更加生动多彩。一般有两种在支持Markdown的语法环境中添加Emoji表情:1.直接将表情包复制到文档…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
