java中的变量、数据类型、人机交互
变量
变量要素
1、类型;每一个变量都需要定义类型(强类型)其它语言有弱类型(js)
2、变量名;
3、存储的值;
声明方式:
数据类型 变量名 = 变量值;
public static void main(String[] args) {// 方式一char gender;//变量的声明;gender = '女'; //变量的赋值;初始化;// gender = "男"; //不能是用双引号,会报错:String无法转换为char;// 方式二int age = 19;byte bt = 0;long ll = 123123L;System.out.println(gender);System.out.println("age = " + age);System.out.println(ll); //123123}
数据类型
一、基本数据类型:(8种)
1、整型;
(1)byte
(2)short
(3)int
(4)long
2、浮点型
(1)float
- 4字节 尾数可以精确到7位;
(2)double
- 8字节 通常采用此类型;
float 占用空间比long要小,表述范围比long还要大~~~~~;但是精度太差; 声明float类型的话,需要添加后缀:f或者F;否则就是double了; //从double转换到float可能会有损失
如果没有特殊情况就使用double; 浮点型变量的精度都不高; 开发中使用通过BidDecimal类去替换;
double = 1; 整型可以赋值给浮点型;之后就自动转为浮点型1.0;
class Float{public static void main(String[] args) {float f1 = 1.1f;double d1 = 1.1;double d2 = 666;System.out.println(f1 + d1);double pi = 3.14;double radius = 1.22;double radius2 = 3.444;double radius3 = 4.5555;double area1 = pi * radius * radius;double area2 = pi * radius2 * radius2;double area3 = pi * radius3 * radius3;System.out.println("area1Ãæ»ýΪ:" + area1);System.out.println("area2Ãæ»ýΪ:" + area2);System.out.println("area3Ãæ»ýΪ:" + area3);// c = (f-32)/1.8;double h = 80;double s = (h - 32) / 1.8;System.out.println("f_" + h + "=s_" + s);}
}
3、字符型:char
1、占用两个字节;和short占用空间一样;
三种表现形式:
1、使用单引号表示,内部只有一个字符;有且只有一个;
所有的字符都使用unicode编码来表示;
所以全世界所有的值都可以付给字符;
2、形式2:
char c = ‘\uxxxx’; xxxx为unicode编号值(十六进制、四位);
3、形式3;
使用转义字符:‘\n’, ‘\t’;
4、形式4;
直接表示一个数值;(对应的是asc2码);
char c = 97; // =>结果是:a;
class Char{public static void main(String[] args) {char c1 = 's';// char c2 = ''; // 必须要有值;// char c3 = 'ss'; //而且只能有一位char c3 = '\u0001';System.out.println(c3);char line = '\n';System.out.println("sdfsdf" + line + "sdfsdf");char a = 97;System.out.println(a);}
}
4、布尔型:
只有两个取值: true/false;
常使用在流程控制中;
Boolean占用几个字节?
就两个值;==》在内存中放的话就两个值:1、0;占用空间默认为int,四个字节; (不谈布尔占几个字节)
class Boolean {public static void main(String[] args) {double d1 = 111L;System.out.println(d1);byte b = 1;int i = 111 + b;System.out.println(i);byte bb = 12;short s1 = 10;// short s2 = b + s1; //×Ô¶¯×ªÎªintÀàÐÍ£»±¨´í£»byte b2 = 10;byte b3 = 11;// byte b4 = b2 + b3; //×Ô¶¯×ªÎªintÀàÐÍ£»±¨´í£»short s2 = 11;short s3 = 123;// short s4 = s2 + s3; // // long l1 = 1234564563333; // // 1234564563333 long l2 =1234564563333L; // System.out.println(l2);}
}
类型转换
布尔类型
Boolean:略;
javac.exe是编译器、jvm是java虚拟机、公认最强的虚拟机
可以做运算的数据类型有七中;,布尔类型不行:**所以true+1会转换为1+1;
运算规则:
1、自动类型提升;
(1)、容量小的变量与容量大的变量做运算时,结果自动转换为容量大的数据类型;
这个容量大指的是:表示数据范围的大小;8个字节、4个字节;等等
byte 、 short、char => int => long => float => double;所以 double f1 = 111L;是成立的;没有问题的;
特殊的情况;
1、Byte和byte 、short和 short、byte 和 short 之间任意相加之后自动转为int类型;(整型常量,规定是int类型)
Long ll = 123; 将int 类型123转为long类型;自动类型提升;123的值不能超过int的范围;
2、char 和 char、char 和 byte/short 相加之后自动转为int;
其他:
3、浮点类型常量,规定是double类型;
Float ff = 12.2; 将double转为float类型,会报错;应该float ff = 12.2F;
2、强制类型转换;
(1)、使用强转符:”小括号” 来进行转换;
Long ll = 123L;
Int ii = (int)ll;
**
short s2 = 123;
short s3 = (short)s2;//这样也可以,虽然没有必要;
(2)、使用强制转换可能会经度丢失;(长转短)
不仅仅是截断,
Int i = 128;
(3)Byte b =(byte)i;//-127; 高位删除,符号位变化;
public class Translate {public static void main(String[] args) {double d1 = 111.11;// int i1 = d1; //´óתСʧ°Ü£»/* Ç¿ÖÆÀàÐÍת»» */int i2 = (int)d1;System.out.println(i2);long l1 = 123L;short s1 = (short)l1;short s2 = 123;short s3 = (short)s2;//ÕâÑùÒ²¿ÉÒÔ£¬ËäȻûÓбØÒª£»}
}
二、引用数据类型:
1、类(class)
2、数组(array)
3、接口(interface)
4、枚举(enum)
5、注解(annotation)————新特性
6、记录(record)–新特性
- **定义变量时,记得遵循规范;
**变量都有其作用域;只在作用域内有效;
Byte 一个字节最大是127;-128~127;
一个k = 1024byte
一个字节8位(bit),256种可能;正负各一半;
Short 两个字节:
声明long类型时需要后缀l(大写或者小写)
Long l = 123L;无特殊情况都是用int;
常量默认是int类型;
人机交互方式
1、GUI 图形化界面;
2、CLI 命令行交互方式:DOS命令;
JIT 即时编译器;所以效率提升和C#齐平;
即时编译器(JIT compiler,just-in-time compiler)是一个把Java的字节码(包括需要被解释的指令的程序)转换成可以直接发送给处理器的指令的程序。
十大排序;
之快速排序;得写几十遍才能成事- -。;
变量与运算符
1、 关键字;(都是小写字母)
2、标识符;identifier(自己起的名字就是标识符)
命名规则:
1、 26个英文字母大小写,0-9, _,$ 四种类型组成;
2、数字不可以开头;
3、 避开关键字和保留字;(不可以使用,但可以包含myClasse)
4、不能包含空格;
5、 区分小写,长度无限制;
命名规范:(道德范围)
1、包名: 都小写;
2、类名、接口名:大驼峰;
3、变量、方法名: 小驼峰;
4、常量名: 全大写,使用下划线连接: XXX_BBB_JJJ
5、见名知意;
相关文章:

java中的变量、数据类型、人机交互
变量 变量要素 1、类型;每一个变量都需要定义类型(强类型)其它语言有弱类型(js) 2、变量名; 3、存储的值; 声明方式: 数据类型 变量名 变量值; public static vo…...
Python中的生成器是什么
生成器的工作原理 只要Python函数的主体中有yield关键字,该函数就是生成器函数。调用生成器函数,返回一个生成器对象。也就是说,生成器函数是生成器工厂。 下面以一个简单的函数说明生成器的行为: def gen123():yield 1yield 2yield 3print(gen123) # <function gen…...
【Camera2完整流程分析四】从log角度分析CameraService启动流程
下面直接带你通过log打印来一起读CameraService启动的过程。 1)Camera service对象构建,在启动的时候先创建CameraService 这里会打印: CameraService: CameraService started (pid=559)接着启动的时候会执行 –》onFirstRef() 进入这里面看,先输出打印: CameraService:…...

基于SSM SpringBoot vue教务排课系统
基于SSM SpringBoot vue教务排课系统 系统功能 登录 个人中心 学生信息管理 教师信息管理 课室信息管理 班级信息管理 系别信息管理 专业信息管理 课程信息管理 选课信息管理 课表信息管理 开发环境和技术 开发语言:Java 使用框架: SSM(Spring SpringMVC Myba…...

深入理解 LinkedList 及底层源码分析
LinkedList 是基于链表结构的一种 List,在分析 LinkedList 源码前我们先对对链表结构做一个简单的了解。 一、链表的概念 链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为_单向链表和双向链表,而单向 / 双…...

美易官方:英伟达业绩将难以撑起股价?
美股市场似乎总是对各大公司的业绩表现抱有极大的期待,就像一个永远填不饱的“巨胃”。在这样的市场环境下,即使是业绩骄人的公司也可能难以支撑其股价。英伟达,这家在图形处理单元(GPU)领域享有盛誉的公司,…...
超实用干货!FP独立站引流攻略
在当前的市场环境下,对于希望继续从事FP和黑五类产品销售的商家来说,搭建独立站绝对是一个明智的选择。没有了第三方平台的限制,拥有自己的独立站意味着你可以完全掌控自己的商业策略和操作。 但脱离了平台,独立站推广会更加困难。…...
php之框架底层中间件模式开发实现、array_reduce的应用
众所周知php框架的中间件核心是通过array_reduce实现的 php之框架中间件模式开发实现、array_reduce的应用 1.先写个测试用例看一下函数的特性2.根据执行特性实现中间件 1.先写个测试用例看一下函数的特性 <?phpfunction kernal($a,$b){return $a . " and " .…...

fabric搭建生产网络
fabric搭建生产网络 一、生成组织结构与身份证书 解包 hyperledger-fabric-linux-amd64-2.5.0.tar.gz 1.1、crypto-config.yaml配置文件 ./bin/cryptogen showtemplate > crypto-config.yaml 将crypto-config.yaml内容修改为: # -------------------------…...

聊聊 ASP.NET Core 中间件(二):中间件和筛选器的区别
前言 有些小伙伴看到上一篇文章后,可能会发现中间件和我们之前讲的筛选器非常类似,比如它们都是通过 next 串起来的一系列的组件,并且都可以在请求处理前后执行代码,都可以通过不执行 next 来进行请求的终止。那么筛选器和中间件…...

Nginx配置Https缺少SSL模块
1、Linux下Nginx配置https nginx下载和安装此处就忽略,可自行百度 1.1、配置https 打开nginx配置文件 vim /opt/app/nginx/conf/nginx.conf相关https配置 server {listen 443 ssl; #开放端口server_name echarts.net;#域名#redirect to https#ssl on; #旧版#ssl证…...
超详细——集成学习——Adaboost实现多分类——附代码
资料参考 1.【集成学习】boosting与bagging_哔哩哔哩_bilibili 集成学习——boosting与bagging 强学习器:效果好,模型复杂 弱学习器:效果不是很好,模型简单 优点 集成学习通过将多个学习器进行结合,常可获得比单一…...

串口通信标准RS232 RS485 RS422的区别
很多工程师经常把RS-232、RS-422、RS-485称为通讯协议,其实这是不对的,它们仅仅是关于串口通讯的一个机械和电气接口标准(顶多是网络协议中的物理层),不是通讯协议,那它们又有哪些区别呢: 第一…...

jdk环境安装
jdk安装 创建软件安装的目录 mkdir -p /bigdata/{soft,server} /bigdata/soft 安装文件的存放目录 /bigdata/server 软件安装的目录 把安装的软件上传到/bigdata/soft 目录 解压到指定目录 -C :指定解压到指定目录 tar -zxvf /bigdata/soft/jdk-8u241-linux-x64.tar.gz -C /b…...

QT+网络调试助手+TCP服务器
一、UI界面设计 二、单线程 代码设计 1、 查找合法的本地地址,用于当作服务器的IP地址 #include <QThread> #include <QTcpSocket> #include <QNetworkInterface> #include <QMessageBox>QList<QHostAddress> ipAddressesList QNe…...
【unity】(1)场景
Unity的场景(Scene)是构建游戏中各种环境和级别的基础。一个场景可以包含游戏中的所有对象,如角色、道具、地形等。 创建和管理场景 创建新场景: 在Unity编辑器中,选择File > New Scene,或者使用快捷键…...
【Linux】进程间通信IPC机制
目录 一、无名管道 二、有名管道 三、共享内存 四、信号量 五、消息队列 六、套接字 一、无名管道 1.只能用于具有亲缘关系的进程之间的通信(也就是父子进程或者兄弟进程)。 2.是一个单工的通信模式,具有固定的读端和写端。 3.管道也可以看成是一种特殊的文件…...

【如此简单!数据库入门系列】之效率基石 -- 磁盘空间管理
文章目录 1 前言2 磁盘空间管理3 磁盘空间管理的实现4 存储对象关系5 总结6 系列文章 1 前言 如何将表中的记录存储在物理磁盘上呢? 概念模式中,记录(Record)表示表中的一行数据,由多个列(字段或者属性&…...

专业渗透测试 Phpsploit-Framework(PSF)框架软件小白入门教程(五)
本系列课程,将重点讲解Phpsploit-Framework框架软件的基础使用! 本文章仅提供学习,切勿将其用于不法手段! 继续接上一篇文章内容,讲述如何进行Phpsploit-Framework软件的基础使用和二次开发。 在下面的图片中&#…...

5月7日监控二叉树+斐波那契数
968.监控二叉树 给定一个二叉树,我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1: 输入:[0,0,null,0,0] 输出:1 解释ÿ…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...