java基础学习笔记——day04(数据类型转换、常量、运算符)未完待续ing……

Modelsim安装教程以及管理员身份运行patch_dll.bat时找不到文件mgls.dll的解决 Modesim安装教程 Modesim版本有很多,但是安装方式大都相同,我们以modesim.10.5为例,电脑使用的是win10 64位,讲一下安装过程中的步骤以及出现问题的解决方法 一 安装 1.首先解压安装包,在解压的安装包内选择应用程序,右键选择管理员运行。 2.稍等一会,有的电脑会弹出是否允许modesim进行更改,选择 是 即可,然后出现下面的界面,点击下一步。 3.弹出此界面选择安装路径,选择安装路径,我是在D盘新建的文件夹,直接把文件夹中的路径复制在框内。文件夹名称切记不要带中文 4. 阅读详情

java基础学习笔记——day04

1. 类型转换

1.1 含义

  • 在java中各个数据类型之间是可以互相转换的,我们将类型转换分为两种,一种称之为 自动转换 , 强制 转换 。

1.2 自动转换

  • 类数据型之间可以进行自动转换
  • 数值之间在进行四则运算时,数据类型会自动向大类型靠拢
  • 通过各类型的储存空间来判断类型的大小
  • 顺序: byte->short->int->long>float->double
  • boolean类型不能进行转换
byte a = 10;//a是byte类型
int b = a;//将byte类型的a赋值给int类型的b
System.out.println("b="+b);//能正常输出结果   b=10    

注意: 将一个float的值赋给double的时候,会出现误差

double a = 3*12+3.3F;
System.out.println("a="+a);
//结果是   a=39.29999923706055

1.3 强制类型转换

  • 大类型变量要转化为小类型,就需要强制转换

格式: 小类型 = (小类型)大类型

int num = 10;
byte a =(byte)num;

注意:强制转换有可能造成数据错误,不推荐使用。

int num =129;
byte a = (byte)num;
System.out.println("a="+a);
//输出结果是  a=-127
  • 129-> 0000 0000 0000 0000 0000 0000 1000 0001
  • -> byte 1个字节 1000 0001
  • -> 符号位是1 所以是负数 所有的数据都是补码存储 原码展示
  • -> 1000 0001-> (反) 1000 0000 -> 原码 1111 1111 -> -127

2. 常量

2.1什么是常量

  • 常量就是程序运行期间其值不能改变的量

2.2 常量的定义方式

  • 通过 final 修饰的变量就是常量,也叫做最终变量
final int num = 10 ;//

2.3 常量的命名规则

  • 所有的字母均大写,单词之间通过 _(下划线)分割
final  int STUDENT_NUM = 10 ;

3. 运算符

3.1 基本概念

  • 运算符就是用来进行运算的符号

  • 运算符左右的内容称之为操作数,通过运算符旁边操作数的个数判断该运算符是几元(目)运算符

    • 一元(目)运算符:运算符左右两边只有一个操作数
    • 二元(目)运算符:运算符左右两边有两个操作数
    • 三元(目)运算符:运算符左右两边有三个个操作数
  • 目前最多只有三元运算符,而且只有一个: ? :

3.2 运算符的分类

  1. 算数运算符:+ - * / % ++ –
  2. 关系运算符:> < >= <= != == intstanceOf
  3. 逻辑运算符: & | ! ^ && ||
  4. 赋值运算符: =
  5. 位运算符: & | ^ >> << <<< !
  6. 条件运算符: ? :
  7. 拓展运算符: += -= *= /= %= >>= <<= ^= !=
i. 赋值运算符
  • = 进行赋值预算,并且是自右向左进行运算,将右侧的值赋给左侧的变量进行存储
int num = 10; //将右侧的10赋给 = 左侧的变量num
ii. 算数运算符
  • +号:双目运算符
    1. 做为正号: +10 +12
    2. 做为加号: 1+1 5+2
    3. 做为连接符: “你好”+“中国”
int num = +10;//做为正号
mum = 5+2;//做为加号
System.out.println("你好"+"中国");    
  • -号:双目运算符
    1. 做为负号: -10 -12
    2. 做为减号: 5-2
int num = -10;//这是负号
num = 5-2 ;//这是减号
  • / * % :双目运算符
int num = 5/2;//除号
    num = 5*2;//乘号
    num = num%10;//取余
  • ++ --:单目运算符
int num = 10,num1=0,num2=0,num3=0,num4=0;
num1=num++; //运算前num=10,num1=0运算后num=11,num1=10
num2=num1--;//运算前num1=11,num2=0运算后num1=10,num2=11
num3=++num2;//运算前num2=12,num3=0运算后num2=12,num3=12
num4=--num3;//运算前num3=11,num4=0运算后num3=11,num4=11
  • 注意事项:
    1. ++ 运算符 是在原来变量的基础上自增
    2. – 运算符 是在原来变量的基础上自减1
    3. ++ – 在前面,先加一,再运算
    4. ++ – 在后面,先运算,再加一
    5. 如不理解,请参考上面的例子
iii.关系运算符
  • < >= <= != == intstanceOf(现在不学)

  • 注意事项

    1. 关系运算符的结果一定是一个boolean值 (true、false)
    2. !== == 既可以比较基本数据类型,也可以比较引用类型
    3. < >= <= 只能比较基本数据类型(boolean除外)
boolean flag = 4>10;        
System.out.println(flag);//输出结果是:  false
System.out.println("abc"=="abc");//输出结果是: true
iv 逻辑运算符
  • & | ! ^ && ||

    1. &和&& 左右两边的操作数都为true,其结果才为true。
    2. |和||左右两边的操作数有一个为true,其结果就为true。
    3. ^ 左右两边的操作数相同为false,不同为true。
    4. !取反,true->false false->true
  • 注意事项

    1. 逻辑运算符左右变量的操作数有且只能是boolean类型的值
    2. 。当 & ^ | 左右两边的操作数不是boolean类型,是数值型时要注意,此时& | ^ 不是逻辑运算符而是 位运算符。
    3. && || 有短路功能,所以多数情况都是用 && || 而不是& |
    • &&当左边第一个操作数为false的情况下不会对第二个操作数进行运算,因为结果一定 为false。
    • ||当左边第一个操作数为true的情况下不会对第二个操作数进行运算,因为结果一定为 true
System.out.println("测试逻辑&运算符"); //两别都为treu才为true
System.out.println(true&true);  
System.out.println(true&false);
System.out.println(false&true); 
System.out.println(false&false); 
//结果是 true false false false 
System.out.println("测试逻辑&&运算符"); //两别都为treu才为true 
System.out.println(true&&true);  
System.out.println(true&&false);  
System.out.println(false&&true); 
System.out.println(false&&false); 
//结果是 true false false false 
System.out.println("测试逻辑|运算符");
System.out.println(true|true);//只要有一边是ture就为true
System.out.println(true|false);
System.out.println(false|true); 
System.out.println(false|false); 
//结果是 true true true false 
System.out.println("测试逻辑||运算符"); 
System.out.println(true||true);//**只要有一边是ture就为true**  
System.out.println(true||false); 
System.out.println(false||true); 
System.out.println(false||false); 
//结果是 true true true false
System.out.println("测试逻辑!运算符"); 
System.out.println(!true);  //取反
System.out.println(!false); 
//结果是 false  true
System.out.println("测试逻辑^运算符");  
System.out.println(true^true); //相同为fasle 不同为true
System.out.println(true^false);  
System.out.println(false^true);   
System.out.println(false^false); 
//结果是 false true true false
v. 条件运算符
  • ? : 这是唯一一个三目运算符

**语法规则:**表达式1 ? 表达式2 **:**表达式3

含义:

  • 如果表达式1的值为true,则结果为表达式2的值

  • 如果表达式1的值为true,则结果为表达式2的值

String str = 10>1?"1表达式1正确":"表达式2正确";
//结果是:  表达式1正确
int num =10>20?10:20;\
//结果是:  20
vi. 拓展运算符
  • *+= -= = /= %= >>= <<= ^= !=

  • 其实本质上就是算数运算符和位运算符+赋值运算符的一个结合体。

    • num+=10;就是 num=num+10;
    • num/=10;就是 num=num/10;
    • 以此类推……
int num = 10;
num+=10;//其实就是num=num+10;

扩展运算符的优缺点分析:

  • 优点

    • 提高了编写的速度
    • 提高程序了编译的速度
    • 自动进行类型的强制转换(但有风险)
  • 缺点

    • 不利于阅读
    • 自动强制转换可能会让最后的计算结果有误
vii. 位运算符

未完待续……

智能制造 | 如何快速自动生成站位表及自动与BOM校验? 一、站位表(SMT行业中)是SMT上料防错的基础信息,用于对需上料物料与产线、贴片机位置、飞达规格型号、用量,建立基础资料。 SMT站位表是否正确? 首先需要人工确认站位表与SMT程序的是否符合,上料员依照站位表安装好后,确认人员需有第三方确认者 (品管确定)核对。 站位表内容包括什么? 站位表内容为:SMT站位号相对应的物料编码,元件位号,飞达大小/间距,数量等等,根据不同公司的要求而定义。 就目前来说,基本每一款贴片机都可以输出站位清单 但对于企业来说,直接输出的站位清单一般不直接使用,需要进行手动处理 阅读详情

相关推荐

深度:善用人工智能推动高等教育学习、教学与治理的深层变革

从学习方式的革新到教学模式的重构,再到治理体系的升级,人工智能已不再仅仅是辅助工具,而是成为重塑高等教育生态的核心驱动力。某高校的创新实践表明,引入AI生成虚拟患者后,医学生在临床沟通训练中的共情能力提升27%,印证了技术工具与人文教育的互补效应。美国卡内基梅隆大学的实践表明,经过系统培训的教师,其课程设计效率提升40%,且能精准定位83%学生的学习难点。当每个学生都掌握提示工程原理,每位教师都能驾驭AI教学工具,每所高校都建立智能治理框架时,教育将真正实现"以人为本"与"技术为用"的有机统一。

IT胶囊 1093

Java 入门 之 system.out.println

摘要 本文,首先复习 新建 Java 工程;然后,给出 system.out.println 代码示例,浅析方法的输入变量;最后,通过复写 JFrame 的方法以及 system.err.println 代码示例,进一步加深对 system.out.println 的学习。 1)在 Project Explorer --> 右键 --> New --> 新建 Java Projec

稚枭天卓 7578

Dynamics 365 On-Premise Server v9.0部署体验

期盼已久的Dynamics 365 On-Premise的版本升级终于在11月初姗姗来迟。 11月2日起已经可以在官方渠道下载正式版的Dynamics 365 Server v9.0安装文件,版本号9.0.2,随手附上中文版安装文件下载地址。 想必已经有不少小伙伴开始尝试各种升级、安装了吧。 Dynamics 365 On-Premise的安装过程,度娘一下已经有很多了,这里就不赘述了,只是...

Roger的专栏 2138

java简单学习课

java简单学习课 目录: Hello World 变量和常量 数据类型 运算符 结构 小鲨鱼记账系统 Hello World java 框架 package com.company; public class Main { public static void main(String[] args) { } } 注:main方法快捷键------------->先输入main再回车 打印(区分大小写) System.out.println(); 分号;必须

不怕什么的阿狸的博客 216

基于微信小程序的扫码签到系统源码

大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具。代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。签到管理:新增签到,点击查看码展示二维码(有时效性)springboot mybatis 小程序。签到管理:查看用户创建的签到,可删除。用户管理:查看注册用户信息,及删除。签到记录:查看用户签到记录:可删除。个人信息:展示个人信息,可修改。统计分析:查看用户,签到数量。签到记录:查看用户签到记录。登录注册(含授权登录)我的签到:查看签到记录。

wfuhui的博客 5224

STK中的传感器、雷达、发射机、接收机、天线

本文根据STK手册介绍了传感器、雷达、发射机、接收机、天线等对象的基本属性,简略分析了它们的不同之处。

wangyulj的专栏 1万+

Chuck语言学习笔记——4.复数,四则运算与类型转换

为什么要把复数和前面拆开呢?因为复数比较特别。 为什么四则运算和类型转换也要拆开呢?因为我想等基本的数据类型说完了再提。 为什么不先讲time和dur呢?因为他们特别啊…… 好了不吐槽我的顺序问题了我们开始正题。 首先你需要先知道什么是复数,不知道的话: http://baike.baidu.com/link?url=qEehx2n3MzCeFK5kUiYXdPB_CXuTcMIiv54j27oaa

Neil Kleist's Code Lab 699

LPDDR5 学习笔记05:WCK操作详解

LPDDR5 SDRAM采用双时钟设计,写时钟(WCK)频率为命令时钟(CK)的2倍或4倍,需要通过WCK2CK同步机制解决时钟域对齐问题。该同步操作由带特殊标志位的CAS命令触发,控制器需提供半频WCK脉冲进行状态校准。同步完成后才能执行读写操作,且支持多存储体组同步和WCK常开模式以优化性能。掉电后必须重新执行同步流程,确保时钟域正确对齐。该机制有效解决了高速内存接口的时序挑战,为LPDDR5性能提升提供关键技术支撑。

一只豌豆象的博客 2003

Java中instance的用法

关于对象的实例化 大家想到的通常是直接new,除了这个,还有些单实例模式,层次间调用等等 getInstance的使用: * 在主函数开始时调用,返回一个实例化对象,此对象是static的,在内存中保留着它的引用,即内存中有一块区域专门用来存放静态方法和变量, * 可以直接使用,调用多次返回同一个对象。 getInstance 和 new的区别; 大部分类都可以用new,new就...

qq_42194192的博客 7万+

Oracle EBS 寄销/VMI(2)-->采购篇

上篇有一部分设置需要建BPA后,将BPA编号与批准的供应商相关联.     本篇主要是讲的内容:一揽子采购协议-->准标采购订单-->收接入库-->子库转移-->创建冲减通知-->'按接收开票' 自动开票程序 1. PO-->采购订单à采购订单 创建一揽子采购协议,确定物料

陈显平的专栏-Oracle EBS 1万+

6.3 节深度拆解:Hermes Agent 多 Agent 协同执行链路的 4 层设计逻辑

拆解 Hermes 多 Agent 协同的 4 层工程化设计(协议层、编排层、执行层、适配层),聚焦协议层的强约束消息 Schema 如何解决 Agent 间语义不一致问题,并提供 `soul.md` 配置、GLM-4.7Flash 结构化输出验证及 v0.13.0/v0.14.0 版本实操避坑指南

weixin_42520239的博客 122

类(Class)和实例(Instance)

面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 class Student(object): def __init__(self, name, score): self.name = name self.scor

Zio123的博客 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java基础学习笔记day04(常量、数据类型转换、运算符)

java基础学习笔记day04(常量、数据类型转换、运算符) 前言:上一次笔记说到变量,那么在java中除了变量还有常量,其实常量在项目开发中用的也很多,但是在一些书面上对常量的介绍很少很少,往后大家在项目中会很多的利用到常量,所以常量也是要好好学习的;那么在众多的常量类型中,区间有大有小,既然有小有大,就应该有互相转换的问题;那这些变量中的运算又是怎么运算的呢,除了我们数学中聊到的加减乘除还有什...

sosothing的博客 348

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

day02.java变量_数据类型转换_运算符

1.会使用变量,2.识别标识符,3.数据类型转换,4.1算数运算符,4.2自增自减运算符,4.3赋值运算符,4.4关系运算符,4.5逻辑运算符,4.6三元运算符,5.进制的转换(了解),6.位运算符(了解)

qq_46664968的博客 2176

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

02 数据类型转换、运算符、方法入门

第一章 数据类型转换 Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。 1.1 自动转换 一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是什么数据类型? int i = 1; byte b = 2; 运算结果,变量的类型将是 int 类型,这就是出现了数据类型的自动类型转换现象。 自动转换:将 取值范围小的类型 自...

weixin_43353418的博客 5166

2021.4.11 Day 04 Java基础语法

JAVA基础语法 01 注释 平时编写代码,当项目结构一旦复杂起来,我们就需要用到注释了 注释不会被执行,是给写代码的人看的 书写注释是一个非常好的习惯 平时写代码一定要注意规范。 Java中的注释有三种: 单行注释Line comment:注释一行文字 多行注释Block comment:可以注释一段文字 文档注释Java Doc:文档注释 //单行注释:注释一行文字 :/ / //输出一个Hello System

weixin_48482579的博客 1572

Day02 Java基础语法(数据类型、常量、变量、数据类型转换、运算符)

Java基础语法(数据类型、常量、变量、数据类型转换、运算符)

qq_43639081的博客 389

Java day 2-常量、数据类型和运算符

常量的概述和使用 显示 System.out.println("string"); //字符串常量 System.out.println(123); //整数常量 System.out.println(12.3); //小数常量 System.out.println('a'); //字符常量 ,‘’内仅有单个字符 System.out.println(true); //布尔常量:true和flase 空常量 (数组中演示) 数据类型 基本数据类型 整数型 byte ——1个字节-12

qq_41940001的博客 345

Java基础day1

当项目结构简单,代码量较少时自己还可以看懂。但当项目结构复杂同时多人开发时就需要进行注释编写。方便别人更容易理解你的代码 -- 写注释是一个很好的习惯。

weixin_47095620的博客 1496

Java学习笔记(持续更新ing)

java学习

Ines_anny的博客 1842

day02 变量 数据类型转换 运算符

1.变量的数据类型:基本数据类型:4类8种整型:byte short int long浮点型:float double字符型:char布尔型:boolean引用数据类型: 类 数组 接口 枚举 注解2.概述:在代码的运行过程中,值会随着不同的情况而随时发生改变的数据3.作用:一次接收一个数据将来定义一个变量,接收一个值,后续可能会根据不同的情况对此值进行修改,此时可以用变量4.定义:a.数据类型 变量名 = 值;​b.数据类型 变量名;变量名 = 值;​。

知识贩卖机_的博客 1071

【day02】变量、数据类型转换、运算符

1.变量的数据类型:基本数据类型:4类8种整型:byte short int long浮点型:float double字符型:char布尔型:boolean引用数据类型: 类 数组 接口 枚举 注解2.概述:在代码的运行过程中,值会随着不同的情况而随时发生改变的数据3.作用:一次接收一个数据将来定义一个变量,接收一个值,后续可能会根据不同的情况对此值进行修改,此时可以用变量4.定义:a.数据类型 变量名 = 值;b.数据类型 变量名;变量名 = 值;

程序员波特 837

Java--day02 【数据类型转换、运算符、方法入门】

黑马程序员: 目录 一、数据类型转换 1.1 自动转换 转换规则 1.2 强制转换 1.3 ASCII编码表 二、运算符 2.1 算数运算符 ++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。 +符号在字符串中的操作: 2.2 赋值运算符 2.3 比较运算符 2.4 逻辑运算符 2.5 三元运算符 第三章 方法入门 3.1 概述 ...

C_hydar的博客 1012

Java基础【数据类型转换、运算符、方法入门】

day02【数据类型转换、运算符、方法入门】第一章数据类型转换1.1自动转换转换原理图解转换规则1.2强制转换转换原理图解强烈注意1.3 ASCII编码表第二章运算符2.1算数运算符2.2赋值运算符2.3 比较运算符2.4逻辑运算符2.5三元运算符第三章方法入门3.1概述3.2方法的定义3.3方法的调用3.4调用练习3.5注意事项第四章 扩展知识点4.1 +=符号的扩展4.2常量和变量的运算 第一...

hu_zhi_chao的博客 718

Java基础语法(HelloWorld、常识、常量、变量和数据类型、数据类型转换、运算符、方法、流程控制语句、数组、开发工具)

HelloWorld、常识、常量、变量和数据类型、数据类型转换、运算符、方法、流程控制语句、数组、开发工具

jxstudy的博客 797

java零基础小白到秃头--day04 (类型转化、常量、运算符) 待续ing......

类型转化 自动转化 数据类型之间可以自动进行转化。(小类型转化到大类型) //声明一个byte类型的变量 byte a = 123; //将byte类型的值a赋值给int类型的变量b int b = a; System.out.println(a); Tips:数据在进行四则运算时,数据类型会自动向大类型靠拢。char>short>int>long>float&...

bashuguang的博客 153
上一篇: java基础学习笔记——day03(数据类型详讲、进制转换)
下一篇: java基础学习笔记——day05(位运算,位移运算,运算符的优先级)
TTHplus
博客等级 码龄7年 36粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值