【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.直接将表情包复制到文档…...
springBoot对接Apache POI 实现excel下载和上传
搭建springboot项目 此处可以参考 搭建最简单的SpringBoot项目_Steven-Russell的博客-CSDN博客 配置Apache POI 依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</version> </…...
定积分的计算:牛顿-莱布尼茨公式
目录 牛顿-莱布尼茨公式 用C语言代码实现 利用换元积分法和分部积分法 利用奇偶性和周期性求积分 利用已有公式求积分 牛顿-莱布尼茨公式 牛顿-莱布尼茨公式(Newton-Leibniz formula)是微积分学中的基本定理之一,它反映了定积分与被积函…...
shell脚本之case 的用法
shell脚本之case case是Shell脚本中的一种控制流语句,它允许根据变量的值选择不同的执行路径。case语句的语法如下: case word in pattern [| pattern]...) command-list ;; pattern [| pattern]...) command-list ;; ... *) command-list ;; esa…...
第3章 helloworld 驱动实验(iTOP-RK3568开发板驱动开发指南 )
在学习C语言或者其他语言的时候,我们通常是打印一句“helloworld”来开启编程世界的大门。学习驱动程序编程亦可以如此,使用helloworld作为我们的第一个驱动程序。 接下来开始编写第一个驱动程序—helloworld。 3.1 驱动编写 本小节来编写一个最简单的…...
基于PyTorch使用LSTM实现新闻文本分类任务
本文参考 PyTorch深度学习项目实战100例 https://weibaohang.blog.csdn.net/article/details/127154284?spm1001.2014.3001.5501 文章目录 本文参考任务介绍做数据的导入 环境介绍导入必要的包介绍torchnet和keras做数据的导入给必要的参数命名加载文本数据数据前处理模型训…...
Flutter插件的制作和发布
Flutter制作插件有两种方式(以下以android和ios为例): 目录 1.直接在主工程下的android和ios项目内写插件代码:2.创建独立Flutter Plugin项目,制作各端插件后,再引入项目:1. 创建Flutter Plugin…...
【JAVA】异常
作者主页:paper jie 的博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和…...
合同矩阵充要条件
两个实对称矩阵合同的充要条件是它们的正负惯性指数相同。 正惯性指数是矩阵正特征值个数,负惯性指数是矩阵负特征值个数。 即合同矩阵的充分必要条件是特征值的正负号个数相同。 证明: 本论证中的所有矩阵都是对称矩阵。 根据定义,若矩…...
数据分析三剑客之Pandas
1.引入 前面一篇文章我们介绍了numpy,但numpy的特长并不是在于数据处理,而是在它能非常方便地实现科学计算,所以我们日常对数据进行处理时用的numpy情况并不是很多,我们需要处理的数据一般都是带有列标签和index索引的࿰…...
Spring Boot自动装配原理
简介 Spring Boot是一个开源的Java框架,旨在简化Spring应用程序的搭建和开发。它通过自动装配的机制,大大减少了繁琐的配置工作,提高了开发效率。本文将深入探讨Spring Boot的自动装配原理。 自动装配的概述 在传统的Spring框架中…...
东莞网站推广运营公司/疫情防控最新通告
本文转载自公众号:博文视点Broadview。 AI是新的生产力,知识图谱是AI进步的阶梯。随着近年来人工智能的进一步发展,知识图谱也取得了一系列新的进展,并在各个行业中落地应用。知识图谱的相关技术已经在搜索引擎、智能问答、…...
推荐网站建设的电销该怎么打/新东方
目录 写在前面 操作步骤 总结 写在前面 昨天有朋友问我在nhibernate中如何使用sqlite数据库,当时实在忙的不可开交,下周要去山西出差,实在没空,按我的说法使用sqlite跟使用sqlserver,本质上其实没啥区别,nh…...
wordpress配置好后连接不上数据库/自助建站系统哪个好用
三层网络设备对于IP报文的分片和重组处理原理 对于网络分片,我一年前就想整理出来,虽然说网络上的资料很多,但是真正掌握精髓的除非真正做过分片程序,不然很难将协议栈整体联系起来理解。这篇文章,包括设计分片原理图&…...
容桂销售型网站建设/广告投放策略
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 直接将pythsic包丢到libs目录下并且修改egretPropertis.json文件 TypeError [ERR\_INVALID\_ARG\_TYPE]: The "to&quo…...
做批发的在什么网站拿货/长沙关键词优化首选
录制好的https协议的web脚本,在脚本回放时会出现Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "......" failed: [10054] Connection reset by peer [MsgId: MERR-27780]错误,服务器拒绝访问,脚本无法回放成功。 看…...
wordpress5.1更新/公司品牌宣传
阅读文本大概需要3分钟。公司建设一个SaaS平台,用于发布各种企业级的SaaS应用,需要新增一个多租户版本的用户管理系统,下面归纳总结下整个多租户版本的用户管理数据模型设计。1、数据存储架构现有的多租户用户数据存储主要分为三种方式&#…...