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,一经查实,立即删除!

相关文章

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

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

【busybox记录】【shell指令】comm

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

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

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

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

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

XAMPP是什么?XAMPP好不好用?

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

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

🌟博主主页:我是一只海绵派大星 📚专栏分类:软件测试笔记 📚参考教程:黑马教程❤️感谢大家点赞👍收藏⭐评论✍️ python安装 1、进入Python的官方下载页面: 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,我…

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…

C# OpenCvSharp 图片找茬

C# OpenCvSharp 图片找茬 目录 效果 项目 代码 下载 效果 项目 代码 using OpenCvSharp; using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; namespace OpenCvSharp_Demo { public partial class Form1 : Form { …

Meltdown 以及Linux KPTI技术简介

文章目录 前言一、Introduction二、 Background2.1 Out-of-order execution2.2 Address Spaces2.3 Cache Attacks 三、A Toy Example四、Building Blocks of the Attack4.1 Executing Transient Instructions4.2 Building a Covert Channel 五、Meltdown5.1 Attack Description…

关于ssti(简介)

ssti&#xff08;Server-Side Template Injection&#xff09;即服务器端模版注入。 首先&#xff0c;在介绍ssti漏洞之前&#xff0c;需要了解web前端框架&#xff08;MVC&#xff09;中对模版文件的调用和渲染&#xff0c;Web框架比如Flask&#xff08;以使用 Python 编写的轻…

【Linux】Docker 安装部署 Nacos

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ 【Linux】Docker 安装部署 Nacos docker搜索na…

Leetcode—289. 生命游戏【中等】

2024每日刷题&#xff08;126&#xff09; Leetcode—289. 生命游戏 算法思想 实现代码 class Solution { public:void gameOfLife(vector<vector<int>>& board) {int rows board.size();int cols board[0].size();int neighbors[3] {0, 1, -1};vector<…

信息系统安全与对抗-网络侦查技术与网络扫描技术(期末复习)

1、网络拓扑结构在网络攻击中的作用 查明目标网络的拓扑结构&#xff0c;有利于找到目标网络的关键节点&#xff0c;从而提高攻击效率&#xff0c;达到最大攻击效果。 2、网络侦查在网络攻击中的作用 识别潜在目标系统&#xff0c;确认目标系统适合哪种类型的攻击。 3、百度…

【嵌入式必读】一文彻底理解PID自整定及PID自整定代码设计

文章目录 1. 前言2. PID简介3. 常用的PID自整定方法3.1 临界度比例法3.2 衰减曲线法 4. 继电反馈整定法原理4.1 继电反馈自整定的基本思想4.2 继电反馈自整定原理 5. 算法设计5.1 振荡的生成5.2 提取出临界周期 T c T_c Tc​和振荡波形幅值 A A A5.3 计算出PID参数 6 原代码6.1…

回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法

回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法 目录 回归预测 | Matlab实现基于CNN-SE-Attention-ITCN多特征输入回归组合预测算法预测效果基本介绍程序设计参考资料 预测效果 基本介绍 【模型简介】CNN-SE_Attention结合了卷积神经网络&#xff…