首页 > 编程语言 >Java 基础篇day02

Java 基础篇day02

时间:2023-10-29 12:11:21浏览次数:28  
标签:10 Java 变量 int day02 基础 类型 byte 赋值

数据在计算机底层都是采用二进制进行储存
二进制,使用0和1,按照逢二进一的规则来表示数据
列如:6=110 2=10等
计算机中表示数据的单元:字节(byte,简称B,是使用8个二进制位组成的);
字节中的每个二进制位就称为位(bit,简称b),1B=8b;

那么其他数据形式是如何存储的呢?
中文文本,image图片,Sound声音

字符 在计算机中,根据ASCII编码表进行存储的,即美国信息交换标准码,规定了现代英语,数字字符和其他西欧字符对应的数字编码。
图片 图片本质上是由无数个像素点组成的,每个像素点的数据:用0~255 * 0~255表示其颜色
音频 声音数据在计算机内也是由二进制数字表示的,声音本质上是一种波,计算机通过0和1记录波形文件

二进制,八进制,十六进制 相互转换
十进制转换二进制,可以尝试除二取余法(方法自研)
八进制 每3位二进制作为一个单元,最小数是0,最大数是7,共八个数字,这就是八进制
十六进制 每4位二进制作为一个单元,最小数0,最大数是15,共16个数字,依次使用0~9ABCDEF代表就是十六进制

数据类型
Java数据类型可以分为整形byte,short,int(默认),long;浮点型:float,double(默认);
字符型char,布尔型boolean。

数据类型转换
当你需要将存在不同类型的变量赋值给其他类型的变量时,就需要进行类型转换

自动数据类型转换
类型范围小的变量,可以直接赋值给类型范围大的变量

强制数据类型转换
当类型范围大的数据或者变量,直接赋值给类型范围小的变量,就会报错

代码实例
int a = 20;
byte b = a;//报错

强制类型转换:强行将类型范围大的变量或者数据赋值给类型范围小的变量
int a = 20;
byte b = (byte) a;

在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算。
byte,short,char->int->long->float->double
值得注意的是,在表达式中的最终结果类型是由表达式中的最高类型决定的
在表达式中,byte,short,char是直接转换成int类型参与运算的

运算符
"+" 加
"-" 减
"*" 乘
"/" 除
"%" 取余 获取的是两个数据做除法的余数

注意
"+"在与字符串运算时是用作连接符的,并且注意字符串之后的数据统一按照字符串进行连接,但之前的按照正常运算

代码实例
int a = 10 ;
int b = 20 ;
System.out.println("abc"+a); //abca
System.out.println(a + b + "abc"+ a +b); //30abc1020

速练
一个三位数,将其拆分成个位,十位,百位,并将其打印

代码

        int num = 123;

        // 将数字拆分成个位、十位、百位
        int ones = num % 10;
        int tens = (num / 10) % 10;
        int hundreds = (num / 100) % 10;

        // 打印结果
        System.out.println("个位:" + ones);
        System.out.println("十位:" + tens);
        System.out.println("百位:" + hundreds);
 

自增自减
自增++ 自减--
放在某个变量前面或者后面,对变量自身+1或者-1;
注意
自增自减在变量前后时,要特别注意

放在变量前面,先对变量进行+1,-1.然后再拿变量的值进行运算

点击查看代码
int a = 1 ;
int rs = ++a; //先加后用 rs = 2 , a = 2
 

放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1,-1

点击查看代码
int b = 10;
int rs = b++; //先用后加 rs =10,b=11;

赋值运算符

+= 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除后赋值
%= 取余后赋值

注意 赋值运算符会将结果强制类型转换
列如
a+=b
底层代码形式为
a=(a的类型)(a+b);
会将a后的结果强制转换为a的数据类型

关系运算符

">"大于
= 大于等于
< 小于
<= 小于等于
== 判断两者是否相等
!= 不等于

逻辑运算符

& 逻辑与 多个条件必须都为true,结果才能是true
| 逻辑或 多个条件只要有一个true,结果就是true
!逻辑非 取反

&& 短路与 判断结果与&一样,过程不一样。左边为false,右边不执行。
|| 短路或 判断结果与|一样,过程不一样。左边为true,右边不执行。

三元运算符
条件表达式?值1:值2;
首先计算关系表达式的值,结果值为true,返回值1,如果为false,返回值2.

点击查看代码
int a=1;
int b=2;
int c= a>b?1:2; //c=2   a比b大为假,则返回值2

标签:10,Java,变量,int,day02,基础,类型,byte,赋值
From: https://www.cnblogs.com/yifan0820/p/17795624.html

相关文章

  • Python:基础&爬虫
    Python:基础&爬虫Python爬虫学习(网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。)一、基础知识准备Python在各个编程语言中比较......
  • [Java]Java初学之多线程05--Lock锁
    Intro除了synchronized关键字,从JDK5.0开始,Java提供了更强大的线程同步机制--通过显式定义同步锁对象来实现同步。同步锁使用Lock对象充当。本文简单讲一下Lock锁的概念以及简单应用。正文其实理解了synchronized关键字后,Lock锁的理解就会变得简单起来。Lock锁实际上是使用了j......
  • 无代码平台的表单平台 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1104045029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要基于Vue+SpringBoot+MySQL的无代码平台的表单平台,包括了系统数据中心模块,用来存放管理系统通用的模块,另外分别设计了动态类型......
  • 高校大学生创业管理系统 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1104046029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要基于Vue+SpirngBoot+MySQL的高校大学生创业管理系统,拥有系统公告、创业项目、创业社团、创业政策模块,以Vue.js为前端,Spring......
  • 大学计算机课程管理平台 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1104047029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要1.1项目介绍大学计算机课程管理平台包含实验课程模块、实验资源模块、学生实验模块,前端采用Vue.js,采用ViewUI组件库美化界面......
  • 高校学生管理系统 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1104089029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要基于Vue+SpringBoot+MySQL的高校学生管理系统包含学院课程模块、学生选课模块、课程补考模块,还包含系统自带的用户管理、部门......
  • 厦门旅游电子商务预订系统 JAVA开源项目 毕业设计
    https://gf.bilibili.com/item/detail/1104090029为了帮助小白入门Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。一、摘要基于Vue+SpringBoot+MySQL的厦门旅游电子商务预订系统包含景点类型模块、景点档案模块、景点评分模块、景点收藏模块、酒店模......
  • java 数组浅拷贝与深拷贝
    publicclassdemo{publicvoidfunc(int[]nums){int[]tempNums=newint[]{1,1,1,1,1,1};//浅拷贝//nums=tempNums;//深拷贝for(intj=0;j<nums.length;j++){nums[j]=tempNums[......
  • 2023-2024-1 20231416 《计算机基础与程序设计》第五周总结
    作业信息作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13009作业的目标自学《计算机科学概论》第6章和《C语言程序设计》第4章作业正文 https://www......
  • Java21的新表达式类型-模板表达式
    大家好,我是老七,点个关注吧,将持续更新更多精彩内容!在Java编程语言里,模板表达式这个新玩意儿给大家带来了全新的表达式类型。这篇文章会给大家详细讲解模板表达式是什么,如何用它,以及通过具体的代码示例来展示它的优点。什么是模板表达式模板表达式是Java21里新出的一个表达式类型。它......