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、见名知意;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/833146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java之抽象类和接口

一、抽象类 1.抽象类概念 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类, 比如动物类。没有实际工作的方法 , 我们可以把它设计成一个 抽象方法, 包含抽象方法的类我们称为 抽象类。 2.抽象类语法 在Java中&am…

网络基础——校验

网络基础——校验 网络通信的层次化模型(如OSI七层模型或TCP/IP四层模型)中,每一层都有其特定的校验机制来确保数据传输的正确性和完整性。 物理层 校验方式 不直接涉及校验和,但会采用信号编码技术(如曼彻斯特编码…

Linux磁盘IO、网络IO、零拷贝详解

一、什么是I/O? 在计算机操作系统中,所谓的I/O就是输入(input)和输出(output),也可以理解为读(read)和写(write),针对不同的对象,I/O模式可以划分…

什么是接口和类?Java中的集合框架有哪些主要接口和类?

Java中的集合框架有哪些主要接口和类? Java中的集合框架(Java Collections Framework)提供了一套丰富的接口和类,用于存储和操作对象的集合。以下是Java集合框架中的主要接口和类: 主要接口 Collection: 这…

【busybox记录】【shell指令】comm

目录 内容来源: 【GUN】【comm】指令介绍 【busybox】【comm】指令介绍 【linux】【comm】指令介绍 使用示例: 逐行比较两个排序后的文件 - 默认输出 逐行比较两个排序后的文件 - 如果一个文件的排序有问题,那么反错(默认&…

在 Linux 系统中,有多种方法可以查看系统信息

uname: 显示内核信息,如内核版本和机器类型(架构)。 uname -a hostname: 显示当前系统的主机名。 hostname lsb_release: 显示 Linux 发行版信息,如代号和描述。 lsb_release -a cat /etc/*rele…

泰迪智能科技中职大数据实验室建设(职业院校大数据实验室建设指南)

职校大数据实验室是职校校园文化建设的重要部分,大数据实训室的建设方案应涵盖多个方面,包括硬件设施的配备、软件环境的搭建、课程资源的开发、师资力量的培养以及实践教学体系的完善等。 打造特色,对接生产 社会经济与产业的…

2009NOIP普及组真题 1. 多项式输出

线上OJ: 一本通传送门: 核心思想: 逐一读入,逐一处理 step1、先输出符号 如果a小于0,则不管在哪个位置,都要输出负号; 如果a大于0,则除了最高次幂,其他都输出号 step2、…

给网站网页PHP页面设置密码访问代码

将MkEncrypt.php文件上传至你网站根目录下或者同级目录下。 MkEncrypt.php里面添加代码,再将调用代码添加到你需要加密的页进行调用 MkEncrypt(‘123456’);括号里面123456修改成你需要设置的密码。 密码正确才能进去页面,进入后会存下cookies值&…

js实现数据按给定数组排序此数组中不存在的会被排序到末尾

let data [{chain:"jjj",num:222},{chain:"ERC20",num:333},{chain:"dyh",num:11},{chain:"OKTC",num:555},{chain:"USDT",num:222}]data.sort((a, b) > {// 期望的顺序; 此数组中不存在的交易对会被排序到末尾const so…

C++ 使用nlohmann/json.hpp库读写json字符串

1. json库 我个人比较喜欢 nlohmann/json.hpp 这个库&#xff0c;因为它只需要一个hpp文件即可&#xff0c;足够轻量&#xff01; 这是它的github地址。 2. 简单实例代码 #include <iostream> #include <json.hpp> #include <fstream> #include <stri…

XAMPP是什么?XAMPP好不好用?

XAMPP是一个免费且开源的软件套件&#xff0c;用于在个人计算机上轻松搭建和运行 Apache 服务器、MySQL 数据库、PHP 和 Perl&#xff0c;让用户可以在个人电脑上搭建服务器环境的平台。 XAMPP的由来是 X(表示跨平台)、Apache、MySQL、PHP 和 Perl 的首字母缩写。 它集成了这…

【软测学习笔记】Python入门Day02

&#x1f31f;博主主页&#xff1a;我是一只海绵派大星 &#x1f4da;专栏分类&#xff1a;软件测试笔记 &#x1f4da;参考教程&#xff1a;黑马教程❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ python安装 1、进入Python的官方下载页面&#xff1a; Download Python | Py…

欧式聚类提取-------PCL

欧式聚类 std::vector<pcl::PointCloud<pcl::PointXYZ>::Ptr> PclTool::euclideanClustering(const pcl::PointCloud<pcl::PointXYZ>::Ptr& cloud) {std::vector<pcl::PointCloud<pcl::PointXYZ>::Ptr> clustered_clouds;// 下采样pcl::Vox…

小白入门:创建一个SpringBoot项目

前言 我们在创建SpringBoot项目时候&#xff0c;会出现不确定和报错的情况很多&#xff0c;大家可以按照我的做法来简单创建一个SpringBoot项目 1.环境配置 下载安装并配置jdk1.8下载apache mavenidea软件 2.开始创建项目 Server URL&#xff1a;初始是start.spring.io,我…

5.Docker数据管理

文章目录 Docker数据管理1、数据卷1.1、创建数据卷1.2、绑定数据卷 2、数据卷容器3、利用数据卷容器迁移数据3.1、备份3.2、恢复 总结 Docker数据管理 在生产环境中使用 Docker涉及容器的数据管理操作&#xff0c;需要对数据进行持久化或者需要在多个容器之间进行数据共享。 …

DDR4 新功能介绍

DDR4(第四代双倍数据率同步动态随机存取内存)相较于其前代DDR3,引入了一些新的功能和改进,这些新功能有助于提高内存的性能、降低功耗以及增强系统的可靠性,包括VPP、DBI(Data Bus Inversion,数据总线翻转)和DMI(与LPDDR4相关)。以下是对这些功能的简要说明: 更高的…

《QT实用小工具·六十》Qt 多列时间轴控件

1、概述 源码放在文章末尾 Qt 多列时间轴控件。 可与多段字符串格式自由转换&#xff0c;也可手动添加列表项。 专门用来以时间轴作为事件线发展顺序的故事大纲。 特点 时间背包功能&#xff1a;记录所有物品或属性发生的变化&#xff0c;随时回溯 时间可输入任意内容&…

[redis] 说一说 redis 的底层数据结构

Redis有动态字符串(sds)、链表(list)、字典(ht)、跳跃表(skiplist)、整数集合(intset)、压缩列表(ziplist) 等底层数据结构。 Redis并没有使用这些数据结构来直接实现键值对数据库&#xff0c;而是基于这些数据结构创建了一个对象系统&#xff0c;来表示所有的key-value。 文章…

书生·浦语大模型实战营之手把手带你评测 Llama 3 能力(OpenCompass 版)

书生浦语大模型实战营之手把手带你评测 Llama 3 能力&#xff08;OpenCompass 版&#xff09; 环境配置 conda create -n llama3 python3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y conda activate llama3conda install git git-lfs install✨下载 Llama3…