Java入门之数据类型和变量

1.字面常量

        字面常量就是在程序运行中,固定不变的量,例如如下的代码

public class Demo{
    public static void main(String[] args){
         System.Out.println("hello world!");
         System.Out.println(100);
         System.Out.println(3.14);
         System.Out.println('A');
         System.Out.println(true);
         System.Out.println(false);
   }
}

        sout输出的内容使用了双引号括起来,都是字面常量。

2.数据类型

        Java中数据类型主要分为两类:基本数据类型和引用数据类型。

        基本数据类型有四类八种:

        1.四类:整型,浮点型,字符型,布尔型

        2.八种:

注意:Java中任何类型的系统,数据类型内存占用是固定的,且int,double都是带符号的,整型默认为int,浮点型默认double

3.变量

3.1整型变量

3.1.1整型变量

int a = 10;

我们一般在定义时就给出初始值,且一定要赋值,否则会出现编译报错。同时,在定义int型变量的时候,不要超过int的范围,int的包装类型为Integer

3.1.2长整型变量

long b = 10L;

长整型变量的初始值后加L或者l,一般我们加L,占8个字节,包装类型是Long

3.1.3短整型变量

short a = 10;

占2个字节,包装类型为Short

3.1.4字节型变量

byte b = 10;

占1个字节,范围-127 ~ 128,包装类型Byte

3.4浮点型变量

3.4.1双精度浮点型

double d = 3.14;

在Java中,int除以int的值仍然是int

int a = 10;
int b = 20;
System.out.println(a / b);

结果是0

double num = 1.1;
System.out.println(num * num);  // 输出1.21吗?
    
// 执行结果
1.2100000000000002

double占8个字节,小数的存储并不精确,double的包装类型是Double

3.4.2单精度浮点型

float num = 1.0f;    // 写作 1.0F 也可以

一定要记住在赋值时加f或者F

3.5字符型变量

char c1 = 'A';    // 大写字母
char c2 = '1';    // 数字字符

Java中的字符型变量可以存储汉字,他的包装类型是Character

char c3 = '帅';

3.6布尔型变量

布尔型变量赋值只有true和flase,没有0或1,boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法,包装类型是Boolean,没有确定的大小

boolean b = true;
System.out.println(b);
 
b = false;
System.out.println(b);

3.7类型转换

可以由小到大,由大到小需要强制类型转换,且可以出现问题

int a = 10;
long b = 100L;
b = a;   // 可以通过编译
a = b;   // 编译失败

类型提升:int会被提升为long,但需要注意的是,byte与byte的加法计算中,我们会先将byte提升到int,因此最后输出的内容是int类型,例如:

byte a = 10;
byte b = 20;
byte c = a + b;
System.out.println(c);
 
// 编译报错
Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失
                byte c = a + b;

总结:对于不同类型数据的混合运算,范围小的变为大的,对于比四个字节少的类型,会先提升,再计算

4.字符串类型

Java使用String类定义字符串类型,举例如下:

String s1 = "hello";
    String s2 = " world";
    System.out.println(s1);
    System.out.println(s2);

在输出的时候,字符串相加就是拼接

s1 + s2的结果是helloworld

有些情况下,字符串和整型间进行转换

int转换为String

2. String 转成 int
 
int num = 10;
// 方法1
String str1 = num + "";  
// 方法2
String str2 = String.valueOf(num);

String转换为int

String str = "100";
int num = Integer.parseInt(str);

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

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

相关文章

Windows Docker 部署 Etcd 键值存储系统

一、简介 etcd 是一个由 CoreOS 团队发起的开源项目,它用 Go 语言实现,是一个分布式、高可用的键值存储系统。etcd 采用 Raft 算法,确保了数据的强一致性和高可用性,即使集群中有部分节点发生故障,也能保持服务的正常…

Github20K星开源团队协作工具:Zulip

Zulip:让团队协作的每一次交流,都精准高效。- 精选真开源,释放新价值。 概览 随着远程工作的兴起和团队协作的需求不断增加,群组聊天软件成为了日常工作中不可或缺的一部分。Zulip 是github上一个开源的团队协作工具,…

微信支付商户的“商家转账到零钱”产品快速开通指南

微信支付商户的“商家转账到零钱”功能为商家提供了便捷的转账途径,尤其适用于费用报销、员工福利发放、合作伙伴货款或分销返佣等多种场景。那么,如何快速开通这一功能呢,需要快速开通的商户可以联系小编。 首先,确保你的企业已经…

Java | Leetcode Java题解之第89题格雷编码

题目&#xff1a; 题解&#xff1a; class Solution {public List<Integer> grayCode(int n) {List<Integer> ret new ArrayList<Integer>();for (int i 0; i < 1 << n; i) {ret.add((i >> 1) ^ i);}return ret;} }

【vivado】 IBERT GT收发器误码率测试

一、前言 IBERT(Integrated Bit Error Ratio Tester),集成误码率测试仪。作为用户来说可以使用这个工具对自己设计的板子中的高速串行收发器进行简单测试&#xff0c;从而判断设计的接口是否有问题。因为这个工具是直接集成到FPGA上&#xff0c;这样一来直接使用这个工具来测试…

能播放SWF文件的FlashPlayer播放器

问题&#xff1a; 你是不是遇到了 flash 动画 放不了了&#xff1f; 以前的flash游戏玩不了了 在网上很难找到好用的&#xff0c;免费Flashplayer播放器&#xff0c; 找到的也没法保存.exe 以前买的课件放不了了 一打开就更新提示&#xff1a; 再不就是意外能打开了但【创建…

前端 performance api使用 —— mark、measure计算vue3页面echarts渲染时间

文章目录 ⭐前言&#x1f496;vue3系列文章 ⭐Performance api计算持续时间&#x1f496; mark用法&#x1f496; measure用法 ⭐计算echarts渲染的持续时间⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享关于 前端 performance api使用 —— mark、measure计…

Dilworth定理:最少的下降序列个数就等于整个序列最长上升子序列的长度

概念如下&#xff1a; 狄尔沃斯定理_百度百科 (baidu.com) 本质就是找要求序列中最长的单调的子序列&#xff08;不一定连续&#xff09;的长度。 模板如下&#xff1a; 时间复杂度为O&#xff08;N^2&#xff09; #include<iostream>using namespace std;int dp[100…

3、架构-事务处理

目录 概述 场景事例 本地事务 实现原子性和持久性 实现隔离性 概述 事务处理几乎在每一个信息系统中都会涉及&#xff0c;它存在的意义是为 了保证系统中所有的数据都是符合期望的&#xff0c;且相互关联的数据之间不 会产生矛盾&#xff0c;即数据状态的一致性&#xff0…

meshlab: pymeshlab合并多个物体模型并保存(flatten visible layers)

一、关于环境 请参考&#xff1a;pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客 二、关于代码 本文所给出代码仅为参考&#xff0c;禁止转载和引用&#xff0c;仅供个人学习。 本文所给出的例子是https://download.csdn.net/download/weixin_42605076/89233917中的…

np.linalg.norm()

np.linalg.norm()是NumPy中用于计算向量或矩阵的范数的函数。它可以计算不同类型的范数&#xff0c;包括向量的L1范数、L2范数以及矩阵的Frobenius范数等。 基本用法如下, numpy.linalg.norm(x, ordNone, axisNone, keepdimsFalse) x&#xff1a;输入数组&#xff0c;可以是…

Python | Leetcode Python题解之第90题子集II

题目&#xff1a; 题解&#xff1a; class Solution:def subsetsWithDup(self, nums: List[int]) -> List[List[int]]:if not nums:return list()results list()nums.sort()visited [False] * len(nums)self.dfs(nums, results, list(), visited, 0)return resultsdef df…

elasticsearch使用Ngram实现任意位数手机号搜索

文章目录 Ngram自定义分词案例实战问题拆解 Ngram分词器定义Ngram分词定义Ngram分词示例Ngram分词应用场景 Ngram分词实战 Ngram自定义分词案例 当对keyword类型的字段进行高亮查询时&#xff0c;若值为123asd456&#xff0c;查询sd4&#xff0c;则高亮结果是&#xff1c;em&a…

欧洲风景(地理)

1.尼斯湖 尼斯湖亦译内斯湖&#xff0c;位于英国苏格兰高原北部的大峡谷中&#xff0c;湖长39公里&#xff0c;宽2.4公里。面积并不大&#xff0c;却很深。传说这儿住着一只水怪&#xff0c;因此吸引了大量游客。 2.伦敦塔桥 伦敦塔桥是从英国伦敦泰晤士河口算起的第一座桥(泰…

类图及类的关系

类图&#xff08;Class Diagram&#xff09;是UML&#xff08;Unified Modeling Language&#xff0c;统一建模语言&#xff09;中的一种图&#xff0c;用于描述系统中类的静态结构&#xff0c;包括类的属性、方法以及类之间的关系。 一、类 类&#xff08;Class&#xff09;…

Elasticsearch - HTTP

文章目录 安装基本语法索引创建索引查看索引删除索引 文档创建文档更新文档匹配查询多条件查询聚合查询映射 安装 https://www.elastic.co/downloads/past-releases/elasticsearch-7-17-0 下载完成启动bin/elasticsearch服务&#xff0c;可以在Postman调试各种请求。 基本语法…

数据库系统概论(超详解!!!)第八节 数据库设计

1.数据库设计概述 数据库设计是指对于一个给定的应用环境&#xff0c;构造&#xff08;设计&#xff09;优化的数据库逻辑模式和物理结构&#xff0c;并据此建立数据库及其应用系统&#xff0c;使之能够有效地存储和管理数据&#xff0c;满足各种用户的应用需求&#xff0c;包…

【Qt问题】windeployqt如何提取Qt依赖库

往期回顾 【Qt问题】Qt Creator 如何链接第三方库-CSDN博客 【Qt问题】Qt 如何带参数启动外部进程-CSDN博客 【Qt问题】VS2019 Qt win32项目如何添加x64编译方式-CSDN博客 【Qt问题】windeployqt如何提取Qt依赖库 考虑这个问题主要是&#xff1a;当我们的程序运行好之后&#…

Nginx生产环境最佳实践之配置灰度环境

你好呀&#xff0c;我是赵兴晨&#xff0c;文科程序员。 下面的内容可以说是干货满满建议先收藏再慢慢细品。 今天&#xff0c;我想与大家深入探讨一个我们日常工作中不可或缺的话题——灰度环境。你是否在工作中使用过灰度环境&#xff1f;如果是&#xff0c;你的使用体验如…

数据结构与算法===优先队列

文章目录 前言一、优先队列二、应用场景三、代码实现总结 前言 之前写过很多数据结构与算法相关的了&#xff0c;今天看一个新的数据结构&#xff0c;优先队列。优先队列类似队列&#xff0c;却又优先于队列&#xff0c;是堆实现的。接下来详细看看。 一、优先队列 优先队列一…