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

专业做网站方案ppt/小红书推广渠道

专业做网站方案ppt,小红书推广渠道,武汉山水人家装饰公司,华为网站哪个公司做的目录 1. Java小知识点 1.1 Java注释 1.2 Java标识符命名 1.3 Java关键字 2. 字面常量和数据变量 2.1 字面常量 2.2 数据类型 3.变量 3.1 变量概念 3.2 语法格式 3.3 整型变量 3.4 浮点型变量 3.5 字符型变量 3.6 布尔型变量 3.7 类型转换 3.8 类型提升 4. 字符…

目录

1. Java小知识点

1.1 Java注释

1.2 Java标识符命名

1.3 Java关键字

2. 字面常量和数据变量

2.1 字面常量

2.2 数据类型

3.变量

3.1 变量概念

3.2 语法格式

3.3 整型变量

3.4 浮点型变量

3.5 字符型变量

3.6 布尔型变量

3.7 类型转换

3.8 类型提升

4. 字符串类型

本篇完。


1. Java小知识点

上一篇的Hello程序:

在一个好的程序中不但包含好的代码,还会包含很多注释。

1.1 Java注释

        注释是为了让代码更容易被读懂而附加的描述信息, 不参与编译运行,但是却非常重要。时刻牢记代码写出来是为了给人看的, 更是为了给以后的看的。

Java中的注释主要分为三种:

  • 单行注释:// 注释内容(用的最多)
  • 多行注释:/* 注释内容*/ (不推荐,不常用)
  • 文档注释:/** 文档内容 */(常见于方法和类之上描述 方法和类 的作用,可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档)

注意:

  1. 多行注释不能够嵌套使用
  2. 不论是单行还是多行注释,都不参与编译,即编译生成的 .class文件不包含注释信息。

代码示例:

/**
文档注释:
@version v1.0.0
@author rtx
作用HelloWorld类,入门第一个程序练习
*/
public class HelloWorld{/*多行注释:1. main方法是Java程序的入口方法2. main函数的格式是固定的,必须为public static void main(String[] args)*//**main方法是程序的入口函数@param args 命令行参数。*/public static void main(String[] args){// 单行注释:System.out.println是Java中标准输出,会将内容输出到控制台System.out.println("Hello World");}
}
------------------------------------------------------------------------------------// 在cmd中,使用javadoc工具从Java源码中抽离出注释// -d 创建目录 myHello为目录名// -author 显示作者// -version 显示版本号// -encoding UTF-8 -charset UTF-8 字符集修改为UTF-8javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java

1.2 Java标识符命名

一些标识符命名规则和建议:

【硬性规则】

标识符中可以包含:字母、数字以及下划线和$符号等等。
标识符不能以数字开头,也不能是关键字,且严格区分大小写。

【软性建议】

类名:每个单词的首字母大写(大驼峰)。
方法名:首字母小写,后面每个单词的首字母大写(小驼峰)。
变量名:与方法名规则相同。


1.3 Java关键字

        通过观察上述程序可以发现,public、class以及static等会出现颜色变化,Java环境将这些具有特殊意义的标识符成为关键字。即:关键字是由JAVA语言提前定义好的,有特殊含义的标识符,或者保留字。

注:用户不能使用关键字定义标识符

Java关键字分类:

48个关键字
abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。

2个保留字
goto const

3个特殊直接量:
true、false、null


2. 字面常量和数据变量

2.1 字面常量

        在HelloWorld程序中, System.Out.println("Hello World"); 语句,不论程序何时运行,输出的都是Hello World,其实"Hello World"就是字面常量。

常量即程序运行期间,不论何时运行都固定不变的量称为常量。

字面常量的分类:

  1. 字符串常量:双引号中的内容,如“hello world”、“哈哈”
  2. 整型常量:程序中直接写的数字(没有小数点)
  3. 浮点型常量:程序中直接写的小数。
  4. 字符常量:‘’中的单个字符,如‘A’、‘1’
  5. 布尔常量:只有true和false两种
  6. 空常量:null
public class Demo{public static void main(String[] args){System.Out.println("hello world!");System.Out.println(100);System.Out.println(3.14);System.Out.println('A');System.Out.println(true);System.Out.println(false);}
}

其中:100、3.14、‘A’、true/false、“hello world”都是常量,将其称为字面常量。

注意:字符串、整形、浮点型、字符型以及布尔型,在Java中都称为数据类型。


2.2 数据类型

在Java中,数据类型主要分为两类:基本数据类型引用数据类型

基本数据类型有四类八种:

  1. 四类:整型、浮点型、字符型和布尔型
  2. 八种:如下图


3.变量

3.1 变量概念

        在程序中,如果仅有这些字面常量显然是不够的,有些内容可能需要经常改变。对于这些经常改变的内容,在Java程序中,称为变量,而数据类型就是用来定义不同种类的变量的。

3.2 语法格式

语法格式也就是定义变量的格式,和C语言基本一致:

数据类型 变量名 = 初始值;

比如:

int a = 10; // 定义整型变量a,a是变量名,初始值为10
double d =3.14;
char c = 'A';
boolean b = true;a = 100; // a是变量,a中的值在过程中是可以修改的int a1 = 10,a2 = 100,a3 = 1000;
// 在一行可以定义多个相同类型的变量

注意:变量在使用之前必须要赋初始值,否则编译报错。(不会像C语言有随机值)

3.3 整型变量

整型变量中有int、short、long、byte变量类型。

3.3.1 整型变量

整型变量,也就是int类型变量,有如下几种特点:

  1. int在任何系统下都是4个字节
  2. 给变量设置初始值时,不能超过表示范围,否则会导致溢出
  3. int的包装类型为 Integer

3.3.2 短整型变量

短整型变量,也就是short类型变量,有如下几种特点:

  1. short在任何系统下都占2个字节
  2. short的表示范围为:-32768~32767
  3. short的包装类型为Short

3.3.3 长整型变量

长整型变量,也就是long类型变量,有如下几种特点:

  1. 长整型变量的初始值后加L(L和l都可以,但是L便于区分)
  2. 长整型在任意系统下都是8个字节
  3. long的包装类型为Long
int a = 10;
long b = 10;
long c = 10L; // 为了区分int和long类型,一般建议long类型变量的初始值后加L 

3.3.4 字节型变量

在Java中还有个字节型变量,byte类型,具有以下特点:

  1. byte在任何系统下都占1个字节
  2. byte的范围是 -128~127
  3. byte的包装类型是Byte
byte a = 10;
System.Out.println(a);

3.4 浮点型变量

3.4.1双精度浮点型变量

在Java中,int除以int的值仍然是int(直接舍弃小数部分)。如果想得到小数,需要使用double类型计算,该类型具有以下特点:

  1. double在任何系统下都占8个字节
  2. double的包装类型为Double
  3. double类型的内存布局遵守IEEE 754标准(和C语言一致),尝试使用有限的内存空间标识可能无线的小数,因此浮点数是个近似值,并不是精确值。
double a = 1.0;
System.Out.println(a);
double b = 2.0;
System.out.println(a / b); // 输出0.5double num = 1.1;
System.out.println(num * num); // 输出1.21吗?
// 执行结果
1.2100000000000002

3.4.2单精度浮点型变量

也就是float类型,具有以下几种特点:

  1. 在任意系统中占4个字节
  2. 与double相同遵守IEEE 754标准
  3. 由于float表示精度较小,一般优先考虑double
  4. float的包装类型为Float
  5. 在定义变量时后面加上‘f’或‘F’进行区分
float num = 1.0f; // 写作 1.0F 也可以
System.out.println(num)

3.5 字符型变量

        字符型变量也就是char类型,Java中使用单引号+单个字母的形式表示字符字面值。
计算机中的字符本质上也是一个整数,在C语言中我们使用ASCII值表示字符,而Java中我们使用Unicode来表示字符,因此,一个字符占用两个字节,表示的字符也就更多。

char c1 = 'A'; // 大写字母
char c2 = '1'; // 数字字符
System.out.println(c1);
System.out.println(c2)

char的包装类型为Character。


3.6 布尔型变量

布尔类型常用来表示真假,和C语言中的bool类型很相似。

boolean a = true;
System.out.println(a);
boolean b = false;
System.out.println(b);

该变量有以下几种特点:

  1. boolean类型的变量只有两种取值,true表示真,false表示假
  2. Java的boolean类型和int不能相互转换,也就不存在“1表示true,0表示false”这种用法
    boolean value = true;
    System.out.println(value + 1);// 代码编译会出现如下错误
    Test.java:4: 错误: 二元运算符 '+' 的操作数类型错误System.out.println(value + 1);^第一个类型: boolean第二个类型: int
    1 个错误
  3. Java虚拟机规范中,并没有明确规定boolean占几个字节,也没有专门用来处理boolean的字节码指令,在Oracle公司的虚拟机实现过程中,boolean占1个字节。
  4. boolean的包装类型为Boolean。

3.7 类型转换

        Java作为一个强类型编程语言,当不同类型的变量相互赋值的时候,也会有较严格的校验。在Java中,当参与运算的数据类型不一致时,就会进行类型转换,Java中类型转换主要分为两类:自动类型转换和强制类型转换。

3.7.1自动类型转换

自动类型转换即代码不需要经过任何处理,在代码编译时,编译器会自动进行处理

    public static void main(String[] args) {System.out.println(100); // 默认为int类型System.out.println(3.14); // 默认为double类型int a = 100;long b = 10L;b = a; // a和b都是整型变量,a的范围比b小,赋值时系统会自动将a提升为long类型,然后赋值a = b; // 编译报错,long范围比int大,赋值时可能会丢失数据,不安全

3.7.2强制类型转换

强制类型转换即当进行操作时,代码需要经过一定格式的处理,不能自动完成。

int a = 10;
long b = 100L;
b = a; // int-->long,数据范围由小到大,隐式转换
a = (int)b; // long-->int, 数据范围由大到小,需要强转,否则编译失败float f = 3.14F;
double d = 5.12;
d = f; // float-->double,数据范围由小到大,隐式转换
f = (float)d; // double-->float, 数据范围由大到小,需要强转,否则编译失败a = d; // 报错,类型不兼容
a = (int)d; // int没有double表示的数据范围大,需要强转,小数点之后全部丢弃byte b1 = 100; // 100默认为int,没有超过byte范围,隐式转换
byte b2 = (byte)257; // 257默认为int,超过byte范围,需要显示转换,否则报错

注意:

  1. 不同数据类型的变量之间赋值,表示范围更小的类型会自动转换为范围较大的类型。
  2. 如果把范围大的类型赋值给范围小的,需要强制类型转换,但可能丢失精度
  3. 将一个字面常量进行赋值的时候,Java会自动针对数字范围进行检查。
  4. 强制转换不一定成功,不相关的类型不能相互转换(如boolean类型不能强转为int类型)

3.8 类型提升

        通过上面知识点我们知道不同类型的数据之间相互运算时,数据类型范围小的会被提升为数据类型范围更大的。

  1. int与long之间:int会被提升为long
    int a = 10;
    long b = 20;
    int c = a + b; // 编译出错: a + b==》int + long--> long + long 赋值给int时会丢失数据
    long d = a + b; // 编译成功:a + b==>int + long--->long + long 赋值给long
    
  2. byte与byte的运算
    这个很有意思,先看一段代码:
    byte a = 10;
    byte b = 20;
    byte c = a + b;
    System.out.println(c);
    

在IDEA中会发现编译报错:
java: 不兼容的类型: 从int转换到byte可能会有损失

        结论:上述变量都是相同类型,但是还是出现了编译报错,为什么呢?原因是,虽然a和b都是byte类型,但是计算a+b时会先将a和b都提升为int类型,再进行计算,得到结果的类型也是int,通过上面我们知道大放小可能会丢失数据,这里赋值给c,就出现了编译报错。

那为什么会先提升再计算呢?:

        因为计算机的CPU通常是按照4个字节为单位从内存中读写数据,为了硬件上实现方便,诸如byte和short这种低于4个字节的类型就会先被提升成int,再参与计算。

正确的写法:

byte a = 10;
byte b = 20;
byte c = (byte)(a + b);
System.out.println(c);

4. 字符串类型

在Java中使用String类定义字符串类型,比如:

public static void main(String[] args) {String s1 = "hello";String s2 = " world";System.out.println(s1);System.out.println(s2);System.out.println(s1 + s2); // s1 + s2表示:将s1和s2进行拼接
}

在有些情况下,需要将字符串和整形数字之间进行转换:

1. int 转成 String

int num = 10;
// 方法1
String str1 = num + ""; 
// 方法2
String str2 = String.valueOf(num);

2. String 转成 int

String str = "100";
int num = Integer.parseInt(str);

这里只是对字符串进行简单的介绍,能够正常使用即可,后序会详细介绍。

本篇完。

下一篇学习Java运算符的内容。

相关文章:

Java基础使用②Java数据变量和类型+小知识点

目录 1. Java小知识点 1.1 Java注释 1.2 Java标识符命名 1.3 Java关键字 2. 字面常量和数据变量 2.1 字面常量 2.2 数据类型 3.变量 3.1 变量概念 3.2 语法格式 3.3 整型变量 3.4 浮点型变量 3.5 字符型变量 3.6 布尔型变量 3.7 类型转换 3.8 类型提升 4. 字符…...

从 HTTP 到 HTTPS 再到 HSTS:网站安全的演变与实践

近年来,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全变得越来越重要。这促使网络传输协议从 HTTP 发展到 HTTPS,再到 HSTS。本文将详细介绍这些协议的演变过程及其在实际应用中的重要性。 一、HTTP 协议 1.1 HTTP 简介 HTTP&…...

Qt的跨平台介绍

在实际开发中,Ubuntu 使用 Qt 编译并跨平台到 Windows 的场景并不算特别常见,但在一些特定情况下是非常有用的,尤其是在开发需要支持多个平台的跨平台应用时。这种方式的应用主要体现在以下几个方面: Linux 环境下开发 Windows 应…...

数据库DQL

DQL 语法 SELECT字段列表 FROM表名列表 WHERE条件列表 GROUP BY分组字段列表 HAVING分组后条件列表 ORDER BY排序字段列表 LIMIT分页参数 基本查询 查询多个字段 SELECT 字段1,字段2,字段3,... FROM 表名; SELECT * FROM 表名; 设置别名 SELECT 字段1 [AS 别名1],字段2 …...

Am I Isolated:一款安全态势基准测试工具

基于Rust的容器运行时扫描器作为一个容器运行,检测用户容器运行时隔离中的漏洞。 它还提供指导,帮助用户改善运行时环境,以提供更强的隔离保证。 容器的现状是它们并不包含(隔离)。 容器隔离的缺失在云原生环境中有…...

Unity性能优化 -- 性能分析工具

Stats窗口Profiler窗口Memory Profiler其他性能分析工具(Physica Debugger 窗口,Import Activity 窗口,Code Coverage 窗口,Profile Analyzer 窗口,IMGUI Debugger 窗口) Stats 统级数据窗口 game窗口 可…...

【微信小程序】基本语法

一、导入小程序 选择代码目录 项目配置文件 appid 当前小程序的 AppIDprojectname 当前小程序的项目名称 变更AppID(视情况而定,如果没有开发权限时需要变更成个人的 AppID) 二、模板语法 在页面中渲染数据时所用到的一系列语法叫做模板…...

go中的类型断言详解

在Go语言中,类型断言(Type Assertion)是一种将接口类型的变量转换为具体类型的机制。类型断言允许我们从接口类型的变量中提取出具体的值,以便访问具体类型的方法或属性。类型断言的语法如下: value, ok : interfaceV…...

vite构建的react程序放置图片

在 Vite 中,将图片放置在 public 文件夹中可以直接使用相对路径(如 /logo.png)的原因主要与 Vite 的构建和资源处理方式有关。以下是详细的解释: 1. 公共访问性 public 文件夹中的文件在构建过程中不会被 Vite 处理或哈希化。这…...

学习事件循环

本文内容由智谱清言产生。 什么是事件循环? 事件循环(Event Loop)是一个编程概念,特别是在异步编程和GUI(图形用户界面)应用程序中非常常见。它是用来处理和管理事件(如用户输入、计时器事件、…...

终端NuShell git权限异常处理

使用nushell git,关联老的秘钥文件 D:\phpstudy_pro\WWW\xmh\backend|10-312> mkdir d:\Users\Administrator\.ssh PC-20240719ZOSM||2411063145840 D:\phpstudy_pro\WWW\xmh\backend|10-312> cp -r c:\U…...

Mybatis Plus 集成 PgSQL 指南

“哲学家们只是用不同的方式解释世界,而问题在于改变世界。” ——卡尔马克思 (Karl Marx) 解读:马克思强调了实践的重要性,主张哲学不仅要理解世界,更要致力于改造世界。 本文我们引入 Mybatis Plus 作为 ORM ,并且使…...

Rust常用数据结构教程 Map

文章目录 一、Map类型1.HashMaphashMap的简单插入entry().or_insert()更新hashMap 2.什么时候用HashMap3.HashMap中的键 二、BTreeMap1.什么时候用BTreeMap2.BTreeMap中的键 参考 一、Map类型 键值对数据又称字典数据类型 主要有两种 HashMap - BTreeMap 1.HashMap HashM…...

<el-popover>可以展示select change改变值的时候popover 框会自动隐藏

一、问题定位 点击查看详细链接 element-plus 的 popover 组件,依赖 tooltip 组件;当 tooltip 的 trigger 的值不是 hover 时,会触发 close 事件;下拉框的 click 事件,触发了 tooltip 组件的 close 事件 总结一下&am…...

SQLI LABS | Less-37 POST-Bypass mysql_real_escape_string

关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客 0x01:过关流程 输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来): http://localhost/sqli-labs/Less-37/ 是一个登…...

数字后端零基础入门系列 | Innovus零基础LAB学习Day9

Module 16 Wire Editing 这个章节的学习目标是学习如何在innovus中手工画线,切断一根线,换孔,更改一条net shape的layer和width等等。这个技能是每个数字IC后端工程师必须具备的。因为项目后期都需要这些技能来修复DRC和做一些手工custom走线…...

深度学习:GLUE(General Language Understanding Evaluation)详解

GLUE(General Language Understanding Evaluation)详解 GLUE(General Language Understanding Evaluation)是一个用于评估和比较自然语言理解(NLU)系统的综合基准测试。它包括了一系列的任务,旨…...

基于Multisim直流稳压电源电路±9V、±5V(含仿真和报告)

【全套资料.zip】直流稳压电源电路9V、5VMultisim仿真设计数字电子技术 文章目录 功能一、Multisim仿真源文件二、原理文档报告资料下载【Multisim仿真报告讲解视频.zip】 功能 一般直流稳压电源都使用220伏市电作为电源,经过变压、整流、滤波后给稳压电路进行稳压…...

Vue Cli的配置中configureWebpack和chainWebpack的主要作用及区别是什么?

直接区别: configureWebpack项直接覆盖同名配置;chainWebpack项直接修改默认配置。 configureWebpack配置: // vue.config.js module.exports {configureWebpack: {plugins: [new MyAwesomeWebpackPlugin()]} }该代码段中的对象将会被web…...

ubuntu主机搭建sysroot交叉编译环境

ubuntu主机搭建sysroot交叉编译环境 主机是 ubuntu22.04 x86-64 hostubuntu22.04host-archx86-64host-cpui9-13900k 目标板是香橙派5b ,ubuntu22.04,aarch64 ,cpu rk3588s targetubuntu22.04target-archaarch64target-cpurk3588s 安装 qemu-user-static 进入 …...

Python注意力机制Attention下CNN-LSTM-ARIMA混合模型预测中国银行股票价格|附数据代码...

全文链接:https://tecdat.cn/?p38195 股票市场在经济发展中占据重要地位。由于股票的高回报特性,股票市场吸引了越来越多机构和投资者的关注。然而,由于股票市场的复杂波动性,有时会给机构或投资者带来巨大损失。考虑到股票市场的…...

实验三 JDBC数据库操作编程(设计性)

实验三 JDBC数据库操作编程(设计性) 实验目的 掌握JDBC的数据库编程方法。掌握采用JDBC完成数据库链接、增删改查,以及操作封装的综合应用。实验要求 本实验要求每个同学单独完成;调试程序要记录调试过程中出现的问题及解决办法…...

各种环境换源教程

目录 pip 换源相关命令永久换源1. 命令行换源2. 配置文件换源 临时换源使用官方源使用镜像源 报错参考 npm换源相关命令永久换源1. 命令行换源2. 配置文件换源 pip 换源 相关命令 更新 pip 本身 首先,为了确保你使用的是最新版本的 pip,可以通过以下命…...

Rust项目中的Labels

姊妹篇: Go项目中的Labels 按照issue数量从多到少排序: https://github.com/rust-lang/rust/labels?page2&sortcount-desc https://github.com/rust-lang/rust/labels/A-contributor-roadblock 第1页: 标签/中文说明数字T-compiler/编译器Relevant to the compiler tea…...

Jmeter的安装和使用

使用场景: 我们需要对某个接口进行压力测试,在多线程环境下,服务的抗压能力;还有就是关于分布式开发需要测试多线程环境下数据的唯一性。 解决方案: jmeter官网连接:Apache JMeter - Apache JMeter™ 下载安装包 配…...

初识Electron 进程通信

概述 Electron chromium nodejs native API,也就是将node环境和浏览器环境整合到了一起,这样就构成了桌面端(chromium负责渲染、node负责操作系统API等) 流程模型 预加载脚本:运行在浏览器环境下,但是…...

go语言中的通道(channel)详解

在 Go 语言中,通道(channel) 是一种用于在 goroutine(协程)之间传递数据的管道。通道具有类型安全性,即它只能传递一种指定类型的数据。通道是 Go 并发编程的重要特性,能够让多个 goroutine 之间…...

【JS】内置类型的相关问题

我是目录 引言内置类型undefined与nullnull和undefined的区别字符串转换为字符串数字0.1+0.2不等于0.3NaNBigInt大数相加问题原生函数(封箱与解封)判断类型的方法typeofinstanceofObject.prototype.toString.callconstructor类型转换toStringtoNumbertoBoolean显式强制类型转…...

Mac上无法访问usr/local的文件

sudo chmod 755 /usr/loca 最后用百度提供的方法解决了...

http 常见状态码

1xx 信息,表示临时响应并需要请求者继续执行操作 2xx 成功,操作被成功接收并处理 3xx 表示要完成请求,需要进一步操作。通常,这些状态码用来重定向 4xx 客户端错误,请求包含语法错误或无法完成请求 5xx 服务…...