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 解释ÿ…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...