Java基础学习:2、Java数据类型及逻辑运算符
1、数据类型:
数据类型范围:
byte:-2^7 ~ 2^7-1,即-128 ~ 127。1字节。Byte。末尾加B
short:-2^15 ~ 2^15-1,即-32768 ~ 32767。2字节。Short。末尾加S
有符号int:-2^31 ~ 2^31-1,即-2147483648 ~ 2147483647。4字节。Integer。
无符号int:0~2^32-1。
long:-2^63 ~ 2^63-1,即-9223372036854774808 ~ 9223372036854774807。8字节。Long。末尾加L。(也可以不加L)
Java整型常量默认为int类型,如果要声明long类型,后面加“L”:
long num = 1L;
java浮点型常量默认为double类型,如果要声明float类型常量,后面加“F”:
float num1 = 1.1; // 编译错误,因为1.1默认为double类型,8字节,float4字节。
float num = 0.1F;
2、char数据类型:在Java中,char本质是一个整数,默认输出数字时,是Unicode对应的字符。
如果是汉子以及英文字母是直接输出原值,如果是数字直接输出的话是Unicode对应字符。
public static void main(String[] args) {
char c1 = '黄';
char c2 = 97;
// 在Java中,char本质是一个整数,默认输出时,是Unicode对应的字符
// 如果要输出对应的数字,使用(int)
System.out.println(c1); // 黄
System.out.println(c2); // a
System.out.println((int)c1); // 40644
System.out.println((int)c2); // 97
}
// char类型是可以运算的,相当于一个整数,因为它有对应的Unicode码
System.out.println('a' + 10); // 97 + 10 = 107
char c3 = 'b' + 1; // 98 + 1 = 99
System.out.println((int)c3); // 99
System.out.println(c3); // 99对应的ASCII表=> c
3、数据类型转换:
自动转换规则:低精度向高精度可以自动转换。
public static void main(String[] args) {
int num = 'a'; // char -> int
double d = 80; // int -> double
System.out.println(num); // 97
System.out.println(d); // 80.0
}
4、强制类型转换:低精度转高精度。
易造成精度损失。
int m = 10;
short c = (short)m;
5、基本数据类型和String类型的互相转换:
public static void main(String[] args) {
// 字符串转基本数据类型,使用基本数据类型对应的包装类。
String num = "10";
int num1 = Integer.parseInt(num);
float num2 = Float.parseFloat(num);
double num3 = Double.parseDouble(num);
System.out.println(num1 + " " + num2 + " " + num3); // 基本数据类型转string,后面加 ""即可
int nums = 10;
String str = nums + "";
System.out.println(str);
}
6、逻辑运算符:
短路与:&&、短路或 ||、取反:!
逻辑与:&、逻辑或 |、逻辑异或: ^
逻辑异或:a^b,当a和b不同时,结果为true,否则为false。
对于&&短路与而言,如果第一个条件为false,后面条件不在继续判断。
对于&逻辑与而言,如果第一个条件为false,后面条件仍然会判断。
短路或||:如果第一个为true,则第二个不会判断,最终结果为true,效率高。
逻辑或|:不管第一个是否为true,都会判断第二个条件,效率低。
开发中,基本用短路或 ||。
Java基础学习:2、Java数据类型及逻辑运算符的更多相关文章
- java基础学习总结——java环境变量配置(转)
只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...
- Java基础学习(一)---Java初识
一.Java介绍 关于Java的诞生和发展网上比较多,在此就不再赘述了,可以参考http://i.cnblogs.com/EditArticles.aspx?postid=4050233. 1.1 J ...
- java基础学习:java中的反射
一.什么是java反射 什么是 java 的反射? 说到反射,写这篇文章时,我突然想到了人的"反省",反省是什么?吾一日三省吾身,一般就是反思自身,今天做了哪些对或错的事情. ja ...
- java基础学习总结——java环境变量配置
前言 学习java的第一步就要搭建java的学习环境,首先是要安装JDK,JDK安装好之后,还需要在电脑上配置"JAVA_HOME”."path”."classpath& ...
- Java基础学习总结——Java对象的序列化和反序列化
一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存 ...
- java基础学习总结——java读取properties文件总结
摘录自:http://www.cnblogs.com/xdp-gacl/p/3640211.html 一.java读取properties文件总结 在java项目中,操作properties文件是经常 ...
- Java基础学习笔记-Java数据类型转换-(~ ̄▽ ̄)~
JAVA数据类型和JS数据类型转换不一样,因为它是强类型语言嘛 类型转换规则 不允许数值类型和布尔类型 转换 整型.实型.字符型数据可以混合运算 类型转换分类 自动类型转换-隐式转换 1.整数转换为小 ...
- Java基础学习总结--Java对象的序列化和反序列化
一.序列化和反序列化的概念 把对象转换成字节序列的过程称之为对象的序列化 把字节序列恢复为对象的过程称之为对象的反序列化 对象序列化的主要用途: 1)把对象的字节序列永久的保存到硬盘上,通常放在一个文 ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
随机推荐
- JAVA查漏补缺 2
JAVA查漏补缺 2 目录 JAVA查漏补缺 2 面向对象编程 定义类的注意事项 两个变量指向同一个对象内存图 垃圾回收机制 面向对象编程 面向:找.拿 对象:东西 面向对象编程:找或拿东西过来编程 ...
- 学习笔记-Java流程控制
学习来源: [狂神说Java]Java零基础学习视频通俗易懂_哔哩哔哩_bilibili Java流程控制 用户交互Scanner 获取用户的输入 基本语法 Scanner s = new Scann ...
- 星链技术设计(starlink techriage design)
1.星链 定义: 星链,是美国太空探索技术公司的一个项目,太空探索技术公司计划在2019年至2024年间在太空搭建由约1.2万颗卫星组成的"星链"网络提供互联网服务,其中158 ...
- js获取对象数组中指定属性值的新数据
例: let arr = [ {name: "name1", age: "1",type:"1"}, {name: "name2& ...
- BP神经网络及手工搭建神经网络
import pandas as pd import numpy as np import matplotlib.pyplot as plt def sigmoid(x): # 定义网络激活函数 re ...
- 网页端微信小程序客服
https://mpkf.weixin.qq.com/ 可以设置自动回复
- 山寨e网通公告
SHANZGONGG山寨e网通V1.0[换行]软件完全免费,官方绝不会索取任何费用,请勿被骗,后果自负.[换行]如果你有什么更好的建议或者需要哪里改进的地方,请联系作者QQ206044600反馈,前提 ...
- Vue+element ui 笔记
1)可以直接拿过来就用的样式 https://www.cnblogs.com/xiao987334176/p/14188413.html 2)对Table里面的每一项全部设定为选中 mounted() ...
- WebApi EF Core 2.1 Code First 设置导航属性,外键
Nuget: Microsoft.AspNetCore.All Microsoft.EntityFrameworkCore//Include 导航属性在此空间 Microsoft.EntityFram ...
- Ubuntu16.04系统语言设置为中文以及搜狗输入法的安装
特别声明:本文是在操作完才做的记录,不是特别详细,见谅哈! 虚拟机安装的Ubuntu16.04结果语言设置只有英文...起初没啥影响,后来发现自己的脚本注释显示全乱码,而且直接影响脚本运行(其实可能是 ...