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

Java从入门到精通(二)· 基本语法

Java从入门到精通(二)· 基本语法

一 变量

1.字面量

计算机是用来处理数据的,字面量就是告诉程序员:数据在程序中的书写格式。
在这里插入图片描述

特殊的字符: \n 表示换行, \t 表示一个制表符,即一个tab

2.变量的含义

变量是用来记住程序要处理的数据的。

在这里插入图片描述

变量是内存中的一块区域,当申明一个变量时,这块区域就会被创建,然后专门用来存储这个变量。

变量中的数据,是可以被替换(改变)的。

在这里插入图片描述

以下是Java中的基本类型

// byte类型,存储整数,占1个字节,取值范围(-128~127)
byte bNumber=127;
// short类型,短整型,占2个字节
short sNumber=12345;
// int类型,整型,占4个字节
int iNumber=4545121;
// long类型,长整型,占8个字节
long lNumber=12312323432L;
// 浮点型,占4个字节
float fNumber=33.33F;
// 双精度浮点型,占8个字节
double dNumber=4444.44;
// 布尔型,yes or no,占 1 个字节
boolean isOK=true;
// 字符型,存储单个字符,占2个字节
char key='A';

3.关键字

关键字是java中预留的,或已使用了的。这些关键字不能用来作为类名,变量名,否则会报错。

以下是按照顺序排列的Java中的关键字及其含义和用途的说明。

关键字含义
abstract表明类或者成员方法具有抽象属性
assert断言,用来进行程序调试
boolean基本数据类型之一,声明布尔类型的关键字
break提前跳出一个块
byte基本数据类型之一,字节类型
case用在switch语句之中,表示其中的一个分支
catch用在异常处理中,用来捕捉异常
char基本数据类型之一,字符类型
class声明一个类
const保留关键字,没有具体含义
continue回到一个块的开始处
default默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现
do用在do-while循环结构中
double基本数据类型之一,双精度浮点数类型
else用在条件语句中,表明当条件不成立时的分支
enum枚举
extends表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口
final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量
finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块
float基本数据类型之一,单精度浮点数类型
for一种循环结构的引导词
goto保留关键字,没有具体含义
if条件语句的引导词
implements表明一个类实现了给定的接口
import表明要访问指定的类或包
instanceof用来测试一个对象是否是指定类型的实例对象
int基本数据类型之一,整数类型
interface接口
long基本数据类型之一,长整数类型
native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的
new用来创建新实例对象
package
private一种访问控制方式:私用模式
protected一种访问控制方式:保护模式
public一种访问控制方式:共用模式
return从成员方法中返回数据
short基本数据类型之一,短整数类型
static表明具有静态属性
strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循[IEEE 754](https://baike.baidu.com/item/IEEE 754?fromModule=lemma_inlink)算术规范
super表明当前对象的父类型的引用或者父类型的构造方法
switch分支语句结构的引导词
synchronized表明一段代码需要同步执行
this指向当前实例对象的引用
throw抛出一个异常
throws声明在当前定义的成员方法中所有需要抛出的异常
transient声明不用序列化的成员域
try尝试一个可能抛出异常的程序块
void声明当前成员方法没有返回值
volatile表明两个或者多个变量必须同步地发生变化
while用在循环结构中

4.标识符

标识符是指类或变量的名字。

关于标识符的要求:

  • 基本组成:由数字字母下划线(_)或者美元符($)组成。
  • 强制要求:不能以数字开头,不能使用关键字作为标识符的名称,并且区分大小写

标识符的名称建议规范:

  • 满足标识符规则,同时建议使用英文,且具有含义。
  • 满足“驼峰模式”的命名规则(类名使用大驼峰,变量名使用小驼峰)。

二 变量的存储原理

1.二进制(Binary )

计算机中的数据,均是按照二进制的方式去存储或者表示的。

二进制,即仅包含 0 和 1 的计数法,规则为逢二进一

十进制转二进制,一般可使用除二取余法

计算机中表示数据的最小单元为字节(byte),是一个由8个二进制位组成。

在这里插入图片描述

其中,计算机中的每个二进制位称之为位(bit,简称b),即有 1 byte = 8 bit

  • 对于数字,在计算机底层直接按照二进制的方式存储即可
  • 对于字符,则利用ASCII编码表作为对照进行存储

ASCII编码表中规定了现代英语,数学字符,和其他西欧字符对应的数字编码

ASCII编码表对照参考地址:ASCII码对照表-完整ASCII码表-我就查查询 (wjccx.com)

字符“A”对应的是65,字符“0”对应的是48。

2.文本图片和声音的存储

1.文本信息的存储就是利用ASCII编码表来进行存储的。

2.图片是按照图片的每个像素点的光学三原色的值来进行存储,即RGB值

3.声音是按照波形图来进行存储的,将波形图映射到一个二进制的坐标系中,来进行存储

在这里插入图片描述

至于视频,则是图片和声音的结合体。

三 类型转换

1.自动类型转换

类型范围小的变量,可以直接赋值类型范围大的变量。

在这里插入图片描述

注意:在表达式中,byte,short,char三种类型是直接转换成 int 进行运算的。

在表达式中,表达式的结果的类型,由表达式中的最高类型决定。

2.强制类型转换

强行将类型范围大的变量,赋值给类型范围较小的变量。

以下是示例及语法:

int a=20;
// 转换后的类型 变量名=(转换后的类型)原始变量
byte b=(byte)a;
  • 强制类型转换可能会造成数据(溢出)或者丢失
  • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回

四 运算符

1.基本运算符在这里插入图片描述

"+"符号作用于两个字符串的时候,它的作用是连接符,起结果仍然是一个字符串

2.自增自减

在这里插入图片描述

自增自减只能操作变量,不能操作字面量。

自增自减符号非单独使用时放在变量的前边或者后边时,会有明显的区别。

在这里插入图片描述

3.赋值运算

在这里插入图片描述

扩展的赋值运算符,隐含了强制类型转换

4.关系运算符

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DDNoDqMI-1690858451944)(C:\Users\Administrator\Desktop\md\image-20230801101939672.png)]

  • 判断数据是否满足条件,如果满足,则返回 true ,否则返回 false

5.逻辑运算符

在这里插入图片描述

6.三元运算符

在这里插入图片描述

五 案例:键盘输入

在这里插入图片描述

System.out.print("请输入你的姓名:");
Scanner scanner=new Scanner(System.in);
String name = scanner.next();
System.out.println("你的姓名为:"+name);
http://www.lryc.cn/news/103893.html

相关文章:

  • 云安全攻防(三)之 面向云原生环境的安全体系
  • BGP汇总和破解水平分割
  • BUG:pm2启动verdaccio报错:Invalid or unexpected toke
  • Zookeeper笔记
  • 【视觉SLAM入门】5.1. 特征提取和匹配--FAST,ORB(关键点描述子),2D-2D对极几何,本质矩阵,单应矩阵,三角测量,三角化矛盾
  • 【能量管理系统( EMS )】基于粒子群算法对光伏、蓄电池等分布式能源DG进行规模优化调度研究(Matlab代码实现)
  • 绘制Circos基因圈图
  • openGauss学习笔记-26 openGauss 高级数据管理-约束
  • 学习React(四)
  • 如何将单体项目拆分成微服务
  • 【Vue框架】Vuex状态管理
  • Linked List
  • javascript数组基础
  • 【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)
  • Golang之路---01 Golang VS Code创建项目
  • vue 表单form-item模板(编辑,查看,新建)
  • 【IC设计】DC工具的target、link、synthetic、symbol库
  • redisson常用APi-Example
  • 小程序学习(四):WXML模板语法
  • IDEA好用的插件总结
  • 如何在Linux系统中安装ActiveMQ
  • 【Latex】常用公式编辑与符号:公式换行,标号居中、常用符号等
  • 【ArcGIS Pro二次开发】(55):给多个要素或表批量添加字段
  • CentOS7.3 安装 docker
  • 代码随想录算法训练营第五十二天 | 300.最长递增子序列、674.最长连续递增序列、718.最长重复子数组
  • 1、Tomcat
  • centos 内网实现mail发送
  • 【雕爷学编程】MicroPython动手做(25)——语音合成与语音识别2
  • 如何用C#实现上位机与下位机之间的Wi-Fi通信?
  • 学习笔记|大模型优质Prompt开发与应用课(二)|第五节:只需3步,优质Prompt秒变应用软件