Java从菜鸟到高手①

news2024/11/25 2:53:04

目录

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

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

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

相关文章

特征融合篇 | YOLOv8 引入动态上采样模块 | 超过了其他上采样器

本改进已集成到YOLOv8-Magic 框架 论文名称:《Learning to Upsample by Learning to Sample》 论文地址:https://arxiv.org/abs/2308.15085 代码地址:https://github.com/tiny-smart/dysample 我们提出了 DySample,一种超轻量级且有效的动态上采样器。尽管最近基于内核的…

解决Linux CentOS 7安装了vim编辑器却vim编辑器不起作用、无任何反应

文章目录 前言一、解决vim不起作用&#xff08;卸载重新安装&#xff09;1.重新安装vim2.测试vim是否能正常使用 二、解决vim: error while loading shared libraries: /lib64/libgpm.so.2: file too short报错三、解决vim编辑器不能使用方向键和退格键问题 remove vim-common …

3分钟搭建专属于你的ChatGPT

本文首发于公众号 极客枫哥 &#xff0c;日更分享各种好玩的软件、编程知识和个人成长故事 我是枫哥&#xff0c;搭建自己的 ChatGPT 是一件非常有意思的事情&#xff0c;你不仅可以学习到如何搭建的过程也可以将它扩展成一个收费版的 AI 网站&#xff0c;提供给其他人使用&…

Burp自定义插件实现请求拦截

在安全测试时&#xff0c;经常需要对请求进行拦截以及配置管理&#xff0c;以便过滤域名或路径的请求。例如&#xff1a;被测对象会不断收集信息&#xff08;例如IP地址、设备信息&#xff09;通过HTTP传给服务端。本文将介绍如何使用Burp Suite的扩展插件&#xff0c;通过开发…

人工 VS AGV无人搬运机器人,AGV赋能中国智能制造

agv 机器人作为智能制造的重要抓手&#xff0c;正在渗透到各个传统行业&#xff0c;成为我国制造业转型升级的焦点。未来&#xff0c;智能AGV将不仅仅是简单的把货物搬运到指定的位置&#xff0c;而是要把5G技术、大数据、物联网、云计算等贯穿于产品的设计中&#xff0c;让智能…

ElasticSearch总结1

目录 一、ElasticSearch介绍&#xff1a; 举例一&#xff1a; 举例二&#xff1a; 举例三&#xff1a; 二、ELK技术栈 三、Elasticsearch 的基本概念&#xff1a; 四、正向索引和倒排索引&#xff1a; 正向索引&#xff1a; 倒排索引&#xff1a; 五、Mysql和Elastics…

【设计模式】简单工厂模式(Simple Factory Pattern)

工厂模式&#xff08;Factory Pattern&#xff09; 用于创建不同类型的奖品对象。您可以创建一个奖品工厂&#xff0c;根据配置的类型来实例化相应的奖品对象。 public interface Prize {void award(); }public class MoneyPrize implements Prize {Overridepublic void awar…

国内首个图计算平台团体标准发布,创邻科技参与编撰

2024年&#xff0c;由中国通信标准协会批准的团体标准《大数据 图计算平台技术要求与测试方法》&#xff08;编号&#xff1a;T/CCSA 470—2023&#xff09;&#xff08;下称&#xff1a;标准&#xff09;正式实施。该标准于1月4日在全国团体标准信息平台&#xff08;https://w…

贝叶斯推理导论:如何在‘任何试验之前绝对一无所知’的情况下计算概率

从左至右依次为托马斯贝叶斯、皮埃尔-西蒙拉普拉斯和哈罗德杰弗里斯——逆概率(即现在所说的客观贝叶斯分析)发展中的关键人物。[24] 历史背景 1654年&#xff0c;帕斯卡尔和费马共同解决了“点问题”, 创造了早期的直接概率推理理论。三十年后&#xff0c;雅各布伯努利将概率…

超详细的Vue脚手架

文章目录 Node.js介绍安装快速入门控制台输出使用函数模块化编程 npm包管理器介绍命令初始化命令本地安装(了解)全局安装(掌握)批量下载淘宝npm镜像(建议使用) Webpack介绍安装快速入门方式一&#xff1a;webpack原始方式方式二&#xff1a;基于NPM方式 webpack-dev-server 开发…

黑马点评(二)--商户查询缓存

目录 1.缓存更新策略1.1内存淘汰1.2超时剔除1.3主动更新 2.实现缓存和数据库的双写一致2.1Controller2.2Service2.3思路讲解 3.解决缓存穿透问题3.1出现原因3.2解决方案3.3代码实现 4.解决缓存雪崩问题4.1出现原因4.2解决方案4.3代码实现 5.解决缓存击穿问题5.1出现原因5.2解决…

Spring Cloud Security Oauth2 授权码模式

授权码存取—内存方式 获取Code Bisic认证 WebSecurityConfig 配置 Basic Auth认证 登录 数据库建表 授权码存储方式-数据库 Beanpublic AuthorizationCodeServices authorizationCodeServices() {return new JdbcAuthorizationCodeServices(dataSource);}问题 OAuth2 授…

rocketmq dashboard控制台中topic状态无法展示

现象 在使用rocketmq控制台查看topic状态和订阅状态时&#xff0c;出现错误和没有信息的情况。 原因 rocketmq控制台版本问题&#xff0c;最新版本为1.0.1&#xff0c;支持rocketmq5版本&#xff0c;如果使用rocketmq4版本的服务无法兼容对应的数据。同理1.0.0版本也无法兼容ro…

C++ 抽象机制

抽象机制 1. 虚函数 使用关键字virtual 声明的函数&#xff0c;意思是可能随后在其派生类中重新定义。 纯虚函数 在声明的末尾使用0 的函数&#xff0c;说明是纯虚函数。 抽象类 含有纯虚函数多的类称为抽象类(abstract class). 多态类型 如果一个类负责为其他一些类提供接…

C语言例题31:在屏幕上显示一个菱形

题目要求&#xff1a;在屏幕上显示一个菱形 #include <stdio.h>void main() {int i, j;int x;printf("输入菱形行数(3以上的奇数&#xff09;&#xff1a;");scanf("%d", &x);//显示菱形上面的大三角形for (i 1; i < (x 1) / 2; i) {for (…

重磅合作:OpenAI将金融时报的数据引入ChatGPT|TodayAI

在今天的重磅公告中&#xff0c;金融时报&#xff08;FT&#xff09;与OpenAI宣布建立了一项战略合作伙伴关系和许可协议。这一举措标志着金融时报将其卓越新闻内容引入ChatGPT平台&#xff0c;同时也为FT读者带来前所未有的AI新体验。 这项合作不仅让ChatGPT用户在查询时能够…

Oracle 表分区

1.概述 分区表就是将表在物理存储层面分成多个小的片段&#xff0c;这些片段即称为分区&#xff0c;每个分区保存表的一部分数据&#xff0c;表的分区对上层应用是完全透明的&#xff0c;从应用的角度来看&#xff0c;表在逻辑上依然是一个整体。 目的&#xff1a;提高大表的查…

redis中缓存穿透问题

缓存穿透 缓存穿透问题&#xff1a; 一般请求来到后端&#xff0c;都是先从缓存中查找数据&#xff0c;如果缓存中找不到&#xff0c;才会去数据库中查询数据。 而缓存穿透就是基于这一点&#xff0c;不断发送请求查询不存在的数据&#xff0c;从而使数据库压力过大&#xff…

自然语言处理 (NLP) 和文本分析

自然语言处理 (NLP) 和文本分析&#xff1a;NLP 在很多领域都有着广泛的应用&#xff0c;如智能助手、语言翻译、舆情分析等。热门问题包括情感分析、命名实体识别、文本生成等。 让我们一起来详细举例子的分析讲解一下自然语言处理&#xff08;NLP&#xff09;和文本分析的应用…

Java对接高德api搜索POI 2.0 关键字搜索

目录 一、注册账号 二、搜索小demo 1.首先要引入依赖 2. 然后查看打印结果即可 三、搜索接口代码 1.引入依赖 2.yml配置 2.Controller 3.静态工具类 四、运行测试 一、注册账号 高德开放平台 | 高德地图API 注册高德开发者&#xff1b;去控制台创建应用&#xff…