当前位置: 首页 > news >正文

【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火热的原因吧!

前言&#xff1a;Java是一种高级的、面向对象的、可跨平台的程序设计语言。Java根据技术类别可划分为以下几类&#xff1a;JavaSE&#xff08;Standard Edition&#xff0c;标准版&#xff09;&#xff1a;支持面向桌面、嵌入式和移动设备的应用程序开发&#xff1b;JavaEE&…...

zTasker—简洁易用强大的定时热键一体自动化工具,效率倍增器

软件名称 zTasker 应用平台 PC Windows7及以上 一句简介 市面上定时类软件很多&#xff0c;但无一例外功能都很单一&#xff0c;要完成不同的任务&#xff0c;需要不同的软件 市面上的热键软件&#xff0c;要么功能少&#xff0c;要么像是AutoHotKey这样对于一般用户太专业…...

惊艳时装界!AIGC风暴来袭,从设计到生产的全新体验

时尚是一个不断演进的领域&#xff0c;充满创新和独创性&#xff0c;但现在&#xff0c;创新迈入了一个崭新的境界——人工智能生成内容&#xff08;AIGC&#xff09;。这个革命性的技术&#xff0c;改变了时装设计的游戏规则。在过去的几年里&#xff0c;人工智能已经深刻地改…...

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

一&#xff0c; 安装MYSYS2 1. 去https://www.msys2.org下载 msys2-x86_64-xxxxx.exe; 2. 按照msys2.org主页提示的步骤安装; 3.安装完默认起来的是 UCRT的&#xff0c; 可以根据环境的需要选择&#xff0c; 我选择的 MSYS2 MINGW64 4. 搭建编译环境&#xff0c; 安装对应的软…...

USB接口针式打印机

1 针式打印机原理 - 针式打印机16针是纵向排列&#xff0c;每次打印垂直的16bit&#xff0c;然后右移一bit&#xff0c;继续下列打印&#xff1b;字节的MSB表示最上面的点&#xff0c;字节LSB表示最下面的点 - 由于汉字字模的点阵是横向排列的&#xff0c;而提供给打印头的信息…...

外贸建站教程步骤有哪些?独立站怎么搭建?

推荐的外贸建站教程&#xff1f;制作国际贸易网站的流程&#xff1f; 对于那些希望将产品或服务推向全球市场的企业来说&#xff0c;建立一个专业、具有吸引力的网站是至关重要的。下面115SHOP将介绍外贸建站教程的关键步骤&#xff0c;帮助您更好地了解如何在国际市场上建立您…...

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内核为了两个目的&#xff1a; 简化纯输入类外设&#xff08;如&#xff1a;键盘、鼠标、游戏杆、轨迹球、触摸屏。。。等等&#xff09;的驱动开发统一输入类外设产生的数据格式&#xff08;struct input_event&#xff09;&#xff0c;更加方…...

Google Chrome 浏览器以全屏模式打开

目录 前言以全屏模式打开禁止弹出无法更新的提示窗禁止翻译网页Chrome设置禁止翻译网页可能1可能2可能3 网页添加指令禁止Chrome翻译网页 禁用脚本气泡浏览器解决办法html解决办法方法1&#xff1a;鼠标滑过超链接时&#xff0c;使状态栏不出现超链接方法2&#xff1a;方法3&am…...

安装torch113、cuda116并运行demo【Transformer】

文章目录 01. 导读02. 显卡驱动版本03. 创建环境、下载安装必要包04. 运行参考代码&#xff1a; 01. 导读 安装torch113、cuda116并运行demo【Transformer】 02. 显卡驱动版本 C:\Users\Administrator>nvidia-smi -l 10 Wed Sep 13 23:35:08 2023 ----------------------…...

基于scRNA-seq的GRN分析三阴性乳腺癌的肿瘤异质性

三阴性乳腺癌即TNBC是一种肿瘤异质性高的乳腺癌亚型。最近的研究表明&#xff0c;TNBC患者可能包含具有不同分子亚型的细胞。此外&#xff0c;基于scRNA-seq数据构建的GRN已经证明了对关键调控因子研究的重要性。作者使用scRNA-seq对TNBC患者的GRN进行了全面分析。从scRNA-seq数…...

Python:二进制文件实现等间隔取相同数据量并合并

举例&#xff1a;每3byte为一页&#xff0c;每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库实现图像数据增强的简单示例代码&#xff0c;其中包括常用的数据增强操作&#xff1a; import cv2 import numpy as np import os# 水平翻转 def horizontal_flip(image):return cv2.flip(image, 1)# 垂直翻转 def vertical_flip(image):return cv2…...

如何利用Api接口获取手机当前的网络位置信息

在移动互联网时代&#xff0c;手机定位已经成为了一个日常化的需求&#xff0c;无论是导航、社交还是打车等服务都需要获取手机的位置信息。而获取手机位置信息最基础的一步就是获取手机当前的网络位置信息&#xff0c;本文将介绍如何利用API接口获取手机当前的网络位置信息。 …...

vue-elementPlus自动按需导入和主题定制

elementPlus自动按需导入 装包 -> 配置 1. 装包&#xff08;主包和两个插件包&#xff09; $ npm install element-plus --save npm install -D unplugin-vue-components unplugin-auto-import 2. 配置 在vite.config.js文件中配置&#xff0c;配置完重启&#xff08;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震动摇晃等功能时不方便测试&#xff0c;需要连电脑显示调试数据 方法&#xff1a; 1.需要手机下载谷歌浏览器&#xff0c;pc端用edge或这谷歌浏览器 2.手机打开USB调试&#xff0c;打开要测试的网页 3.pc端地址栏输入edge://inspect/#devices&#xff08;这里用的edge浏…...

软件概要设计-架构真题(二十五)

软件概要设计包括软件设计的结构、确定系统功能模块及其相互关系&#xff0c;主要采用&#xff08;&#xff09;描述程序的结构。&#xff08;2018年&#xff09; 程序流程图、PAD图和伪代码模块结构图、数据流图和盒图模块结构图、层次图和HIPO图程序流程图、数据流图和层次图…...

CSDN发文表情包整理

文章目录 简介部分Emoji表情符号简表人物自然物品地点符号 各种Emoji表情链接 简介 CSDN支持Markdown语法及Emoji表情&#xff0c;使用各种Emoji表情可以使得自己的博文更加生动多彩。一般有两种在支持Markdown的语法环境中添加Emoji表情&#xff1a;1.直接将表情包复制到文档…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...