Java从菜鸟到高手①

目录

1.数据类型

2.定义变量

2.1.编码方式

2.2.布尔型变量boolean

2.3.隐式类型转化和强制类型转化

2.4类型提升

3.字符串类型

4.运算符

4.1.取余

4.2. += ,-=

4.3逻辑运算&& || !

4.4.位运算

4.5.条件运算符


1.数据类型

  • Java中,数据类型的大小与平台位数无关,可移植性很高
  • Java中,boolean为布尔类型,真为true,假为false,0为假,非0为真在Java中错误,布尔类型在Java中没有明确的大小
  • Java中,没有所谓的无符号数字

2.定义变量

  • byte,short,int,long都可以用来定义整型变量
  • Java中,任何变量在使用前一定要初始化,否则编译报错
  • Java没有全局变量
  • long定义变量时,在初始值后面加L:long a = 10L
  • float定义变量时,在初始值后面加f:float a = 10f
  • Java中,直接赋值时,如果赋值的字面值大于该类型所能表示的最大值,编译器会报错
  • 浮点数和整数在内存中的存储方式不同,任何浮点数都不能精确保存
  • 一个汉字两个字节,而Java中char类型占两个字节,所以char c = '王';可以正常输出
2.1.编码方式

C语言采用ASCII码编码方式,范围0~127,只能表示英文相关的字符,而Java采用unicode编码方式,不仅可以表示英文,还可以表示其他更多语言,unicode包含了ASCII

在c中,char为1个字节,默认为有符号类型,范围0~127

在Java中,char为2个字节,范围0~65535

2.2.布尔型变量boolean

1.布尔类型的变量只有两种取值,true表示真,false表示假,Java当中的布尔类型不能和int转化,不存在0表示假,非0表示真这样的用法,布尔类型不能和任意类型进行强制类型转化

2.3.隐式类型转化和强制类型转化

1.类型表示范围小的赋值给范围大的:隐式转换

2.类型表示范围大的赋值给范围小的:强制类型转化,但可能精度丢失

3.强制类型转化不一定成功,不相干的类型不能进行转化

2.4类型提升

1.Java中,不同类型的数据进行相互运算时,数据类型小的会被提升为数据类型大的

2.int和long之间:int会被提升为long

int a = 10;
long b = 20;
int c = a + b;//错误
//正确写法
int c = (int)(a+b);
long d = a + b;

byte和byte运算:

byte a = 10;
byte b = 20;
byte c = a + b;//错误
//正确写法
byte c = (byte)(a + b);
int c = a + b;

Java中,对于 short, byte 这种比 4 个字节小的类型, 会先提升成 4 个字节的 int , 再运算

3.字符串类型

1.String,c中只有字符串,没有字符串类型,而Java有字符串类型

2.String arr = "hello world",Java当中,字符串不是以'\0'结尾的

3.1.将int->String

int a = 10;
String arr = a + "";

当字符串和整数放在一起使用加号的时候,+就是一个拼接的意思

4.运算符

4.1.取余

C语言中,%的左右操作数必须为int,Java中,%左右操作数可以为小数,但没有意义,一般都是对整数取模

4.2. += ,-=
int a = 10;
double b = 12.5;
a = a + b;//错误
//正确
a += b;//自动将a + b的结果转化成int再赋给a

+=,-=,可以自动帮我们进行类型的转化的

4.3逻辑运算&& || !

4.3.1逻辑与&&

布尔表达式1 && 布尔表达式2

  • 两表达式都必须为布尔表达式
  • 如果第一个表达式为假时,就不会去执行第二个表达式(短路与)

4.3.2.逻辑或 ||

布尔表达式1 || 布尔表达式2

  • 两表达式都必须为布尔表达式
  • 如果第一个表达式为真时,就不会去执行第二个表达式(短路或)

4.3.3. | 和 &

  • 当& 和 | 的左右两边都是布尔表达式时,执行&& 和 || 的功能,但没有短路功能

4.3.4逻辑!

4.4.位运算

4.4.1.& 和 |

4.4.2.移位运算符

  • <<:高位丢弃,低位补0,* 2 ^ n
  • >>:低位丢弃,高位补符号位,/ 2 ^ n
  • >>>:无符号右移,低位丢弃,高位补0,没有无符号左移
4.5.条件运算符

布尔表达式1 ? 表达式2 :表达式3

如果表达式1成立的话,执行表达式2,否则执行表达式3

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux:使用匿名管道对进程池的模拟实现

目录 一、Makefile 二、processpool.cc 2.1创建通信管道和子进程 2.2控制子进程 2.3回收进程 三、task.hpp 四、完整代码 接下来我们将模拟实现一个进程池&#xff0c;进程池广泛应用与各个领域和方向&#xff0c;比如我们打开电脑后同时打开很多个进程&#xff08;也就是软…

SpringBoot对接前端传递的base64编码的图片信息,转成图片以Get请求进行浏览器文件下载,不下载到本地。

一、问题描述 1.1需求描述。 前端将浏览器展示的图片以base64编码的形式传递给后端&#xff0c;以此实现文件下载的功能&#xff0c;在浏览器弹出文件下载框。效果如下 1.2实现思路 将前端传递的base64进行解码&#xff0c;设置响应头返回响应体&#xff0c;代码如下。 pu…

如何安全的使用密码登录账号(在不知道密码的情况下)

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 1、打开工具&#xff0c;进入账号密码模块&#xff0c;如图 2、看到鼠标移动到密码那一栏有提示&#xff0c;按住Ctrl或者Alt点击或者双击就能复制内容&…

【大前端】ECharts 绘制立体柱状图

立体柱状图分为&#xff1a; 纯色立体柱状图渐变立体柱状图 常用实现方式 纯色立体柱状图 纯色立体柱状图&#xff0c;使用MarkPoint和颜色渐变就实现&#xff0c;如下代码 import * as echarts from "echarts";var chartDom document.getElementById("main&…

Window(Qt/Vs)软件添加版本信息

Window&#xff08;Qt/Vs&#xff09;软件添加版本信息 文章目录 Window&#xff08;Qt/Vs&#xff09;软件添加版本信息VS添加版本信息添加资源文件添加版本定义头自动更新版本添加批处理脚本设置生成事件 Qt添加版本信息添加资源文件文件信息修改自动更新版本 CMake添加版本信…

rust疑难杂症

rust疑难杂症解决 边碰到边记录&#xff0c;后续可能会逐步增加&#xff0c;备查 cargo build时碰到 Blocking waiting for file lock on package cache 原因是Cargo 无法获取对包缓存的文件锁&#xff0c; 有时vscode中项目比较多&#xff0c;如果其中某些库应用有问题&…

环形链表的经典问题

环形链表 环形链表的介绍链表中是否带环返回链表开始入环的第一个节点 本文主要介绍如何判断一个链表是否是环形链表&#xff0c;以及如何得到环形链表中的第一个节点。 环形链表的介绍 环形链表是一种链表数据结构&#xff0c;环形链表是某个节点的next指针指向前面的节点或指…

【linux学习指南】linux 环境搭建

文章目录 &#x1f4dd;前言&#x1f320; 云服务器的选择&#x1f320;阿里云&#x1f320;腾讯云&#x1f320;华为云 &#x1f320;使用 XShell 远程登陆到 Linux&#x1f309;下载 XShell &#x1f320;查看 Linux 主机 ip&#x1f309; XShell 下的复制粘贴&#x1f309; …

大数据信用花了,一般多久能正常?

在当今数字化时代&#xff0c;大数据技术被广泛应用于各个领域&#xff0c;包括金融、电商、社交等。然而&#xff0c;随着大数据技术的普及&#xff0c;个人信用问题也日益凸显&#xff0c;其中“大数据信用花”现象尤为引人关注。那么&#xff0c;大数据信用花究竟是什么?一…

【linuxC语言】exec函数族

文章目录 前言一、exec函数族二、示例代码2.1 代码12.2 代码22.3 代码3 总结 前言 在Linux环境下&#xff0c;C语言提供了一组强大的函数族&#xff0c;即exec函数族&#xff0c;用于执行其他程序。这些函数允许程序在运行时加载并执行不同的程序&#xff0c;从而实现了程序之…

Android(Java)项目支持Kotlin语言开发

Android&#xff08;Java&#xff09;项目通过相关Kotlin设置后&#xff0c;允许同时使用Java语言和Kotlin语言进行开发代码的。 示例环境&#xff1a; Android Studio Giraffe | 2022.3.1 Patch 3 Java 8 Kotlin 1.9.20 设置Kotlin选项&#xff1a; 第一步&#xff1a;在项…

AI大模型探索之路-训练篇9:大语言模型Transformer库-Pipeline组件实践

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…

Sentinel 控制台学习

引言 上篇文章已经讲过 SpringCloud Sentinel集成到微服务项目中&#xff0c;接下来我们继续学习怎么使用sentinel控制台对微服务进行限流&#xff0c;熔断&#xff0c;降级等一系列操作。 控制台 接下来我们单独讲解每一个菜单按钮 实时监控 实时监控&#xff1a; 可以看到…

必应广告投放怎么做?怎么开户推广?

今天搜索引擎广告依旧是企业提升品牌知名度、吸引潜在客户的关键渠道之一&#xff0c;必应Bing&#xff0c;作为全球第二大搜索引擎&#xff0c;不仅拥有庞大的用户基础&#xff0c;更以其精准的定向能力和高效的转化效率&#xff0c;成为众多企业拓展市场的优选平台。 一、必…

【Java探索之旅】包管理精粹 Java中包的概念与实践

文章目录 &#x1f4d1;前言一、封装1.1 封装的概念1.2 访问限定修饰符 二、封装扩展&#xff08;包&#xff09;2.1 包的概念2.2 带入包中的类2.3 自定义包2.4 常见的包 &#x1f324;️全篇总结 &#x1f4d1;前言 在Java编程中&#xff0c;封装是面向对象编程的核心概念之一…

PotatoPie 4.0 实验教程(32) —— FPGA实现摄像头图像浮雕效果

什么是浮雕效果&#xff1f; 浮雕效果是一种图像处理技术&#xff0c;用于将图像转换为看起来像浮雕一样的效果&#xff0c;给人一种凸起或凹陷的立体感觉&#xff0c;下面第二张图就是图像处理实现浮雕效果。 不过这个图是用Adobe公司的PS人工P图实现的&#xff0c;效果比较…

【R语言数据分析】数据类型与数据结构

R的数据类型有数值型num&#xff0c;字符型chr&#xff0c;逻辑型logi等等。 R最常处理的数据结构是&#xff1a;向量&#xff0c;数据框&#xff0c;矩阵&#xff0c;列表。 向量有数值型向量&#xff0c;字符型向量&#xff0c;逻辑型向量等&#xff0c;字符型向量就是反应…

二维码门楼牌管理应用平台建设:实现用户权限的高效管理

文章目录 前言一、用户权限管理的重要性二、用户管理中心的构建三、用户权限管理的实施策略四、用户权限管理的挑战与应对五、结语 前言 随着信息技术的飞速发展&#xff0c;二维码门楼牌管理应用平台已成为城市管理的重要组成部分。本文将深入探讨如何通过用户权限管理&#…

基于SpringBoot+Vue外卖系统设计和实现(源码+LW+部署讲解)

&#x1f339;作者简介&#xff1a;✌全网粉丝10W&#xff0c;csdn特邀作者、博客专家、Java领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战&#xff0c;高校老师/讲师/同行前辈交流✌ &#x1f339; 主要…

STM32(c语言基础)

1.硬件部分&#xff1a;按键&#xff0c;传感器 传感器模块&#xff1a;光敏电阻&#xff0c;热敏电阻&#xff0c;红外接收管 光敏电阻&#xff1a;光线越强&#xff0c;光敏电阻的阻值就越小&#xff1b; 热敏电阻&#xff1a;温度越高&#xff0c;热敏电阻的阻值越小&…