Java基础之(五):数据类型
Java快捷键
首先我们先来介绍下IDEA的一些快捷键
psvm=
public static void main(String[] args) {}
sout=
System.out.println("Hello,World!");
Java基础语法
在我们学习Java的时候,就像其他任何一门语言一样,首先要了解的当然就是Java的一些基础的语法之类的知识。
注释、标识符、关键字
一、注释
注释对于一个程序员来说是非常重要的东西。一个好的注释不仅能够使我们能够在之后阅读自己的程序的时候不必一句一句地分析语句的意思,而且在之后与其他程序员进行团队合作的时候有更好的配合。
要注意:注释只是写给人看的,它并不会被机器执行,注释的示例如下:
单行注释:
//单行注释:可以注释单行文字
多行注释:
/*
多行注释:可以注释一段文字
注释
*/
文档注释:(这点在学习Java前期基本上是用不到的)
//JavaDoc:文档注释:/** */
/**
*@Description HelloWorld
*@Author long //作者名
*
*/
二、标识符
标识符是大小写敏感的
//大小写十分敏感
String Man = "fan";
String man = "fan";
这里的标识符就是Man
,意思就是说,如果你输入个Man
,但是在之后调用的时候调用的是man
,机器是识别不出来的。Man
和man
是两个不同的表达,它们是两个变量名。
所有的标识符都应该是以字母(A-Z或者a-z),美元符(¥),或者下划线(—)开始
三、关键字
java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符。下面是跟大家分享一些Java中最常用的标识符,基本上包括了所有的标识符。
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
数据类型
首先需要强调一点:Java是强类型语言,这非常重要,那么什么是强类型语言呢?
强类型语言也称为强类型定义语言,它的定义就是:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
强类型语言是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,所有变量都必须先定义后使用。
java、.NET、C++等都是强制类型定义的。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。
例如你有一个整数,如果不显式地进行转换,你不能将其视为一个字符串。
与其相对应的是弱类型语言:数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
一、基本类型
这里跟大家聊一下各种数据类型的字节范围长度,基本上并不用太注意,一般来说平常的就够用了,只是了解下就行了。(都是一些废话,哈哈)
1.数值类型
位(Bit):是指计算机内部数据储存的最小单位。
字节(Byte):是计算机中数据处理的基本单位,习惯上用大写B表示。
1B(Byte,字节)=8bit(位)
字符:是指计算机中使用的字母、数字、字和符号。
2.整数类型
byte占一个字节范围:-128-127
short占2个字节范围:-32768-32767
int占4个字节范围:-2147483648-2147483647
long占8个字节范围:-922337203685477808-922337203685477807
3.浮点类型
float占4个字节
double占8个字节
4.字符类型
char占2个字节
5.boolean类型
占一位,其值只有true和false两个
class:用来定义类
String:用来定义字符串变量String teacher = "lyl-star";
int:用来定义数字类型int a=10
变量
这里只是简单介绍一下变量的定义以及声明方法,具体的对于变量的使用请参考我的另一篇博客
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量。
二、引用类型
1.类(这里只是提一句它是属于引用类型的,之后的请参考我的其他博客)
2.接口
3.数据
类型转换
基本数据类型从低到高依次为
低 -------------------------------------------------------------------------> 高
byte,short,char—>int —> long —> float —> double
一、强制类型转换
说完了Java的基本类型都有哪些之后,你或许有些疑问。如果你想强行的进行转换的时候怎么办呢?
放心!Java也提供了这种命名方法:(类型)+ 变量名 ,其中的变量名原本的类型就会被强制转换为()里面的数据类型。它的转换一般都是从高类型-->低类型的时候使用的。
例如:如果你有一个int型的数据,想把它转换为byte型的,但是int型的数据长度比byte型的要长,机器并不能自动地转换,这个时候就需要我们使用强制地进行类型转换了。
需要注意的一点就是内存溢出的问题:即不要使数据的长度超过数据类型的最大(或最小)值
二、自动类型转换
还有一种转换方式就是机器自动转换类型。当然,这种转换也并不是想怎么转就怎么转的,它也只支持从低类型-->高类型的转换。
例如:你有一个int型的数据,想把它当作double类型的数据来用。这个时候机器就会自动地把它转换为double型的来用。但是如果你要是想把它当作byte型的来用的时候就不行了,Java机器并不能自动地进行转换,这个时候就需要程序员自己来进行强制类型转换了。
public class Demo04 {
public static void main(String[] args) {
int i = 128;
double b = i;//内存溢出
System.out.println(i);
System.out.println(b);
}
}
三、注意点:
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
在把高容量转换到低容量的时候,强制转换
转换的时候可能存在内存溢出,或者精度问题!
System.out.println((int)23.7);
System.out.println((int)-45.89f);
char c = 'a';
int d = c+1;
System.out.println(d);
System.out.println((char)d);
操作数比较大的数的时候,注意溢出问题
这里提一下JDK比较好用的一个技巧JDK特性:数字之间可以用下划线分割,这意味着当我们输入一些比较大的数时,再也不需要一个一个地去查数字地个数了(泪目)。
//操作数比较大的数的时候,注意溢出问题
//JDK特性:数字之间可以用下划线分割
int money = 10_0000_0000;
System.out.println(money);
int money = 10_0000_0000;
System.out.println(money);
int years = 20;
int total = money*years;
long total2 = money*years;//默认的是int,转换之前已经存在问题了
System.out.println(total);
System.out.println(total2);
long total3 = money*((long)years);
System.out.println(total3);
Java基础之(五):数据类型的更多相关文章
- Java实习生常规技术面试题每日十题Java基础(五)
目录 1.启动一个线程是用run()还是start()? . 2.线程的基本状态以及状态之间的关系. 3.Set和List的区别,List和Map的区别? 4.同步方法.同步代码块区别? 5.描述Ja ...
- JAVA基础第五章-集合框架Map篇
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- Java基础之基本数据类型
前言:Java内功心法之基本数据类型,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 变量就是申请内存来存储值.也就是说,当创建变量的时候,需 ...
- java基础(三) -基本数据类型
变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不同类型的变量,可以在内存 ...
- java基础(十五)----- Java 最全异常详解 ——Java高级开发必须懂的
本文将详解java中的异常和异常处理机制 异常简介 什么是异常? 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常. Java异常的分类和类结构图 1.Java中的所 ...
- 数组、栈、堆(java基础知识五)
1.数组概述.定义格式 * A:数组概念 数组是存储同一种数据类型多个元素的集合.也可以看成是一个容器. 数组既可以存储基本数据类型,也可以存储引用数据类型. * B:数组定义格式 格式1:数据类型[ ...
- java基础(4):引用数据类型、流程控制语句
1. 引用数据类型 1.1 Scanner类 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型. 引用数据类型的使用: 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有 ...
- Java基础笔记之数据类型
一.数据类型 (一)8种基本数据类型(内置数据类型\C#中为值类型) 字符长度:1byte = 8 bit; 布尔:可认为是 1byte (8 bit);
- Java基础学习之数据类型、基础语法与数组(3)
目录 1.数据类型 1.1.基本数据类型 1.2.引用数据类型 1.3.自动装箱与拆箱 2.基础语法 2.1.标识符 2.2.修饰符 2.2.1.访问控制修饰符 2.2.2.非访问控制修饰符 2.3. ...
- JAVA基础知识之数据类型
JAVA的数据类型知识点主要包括基本数据类型,包装类,字符串类(String,StringBuffer, StringBuilder区别和用法),数组,数据类型转换等等,暂时只想到这么多,后面会再补充 ...
随机推荐
- CentOS7中apache的部署与配置
一.apache的部署 输入命令 yum list | grep httpd 查看可安装的软件包,选择"httpd.x86_64"安装. 输入命令 yum install http ...
- 关于Quartus构建nios软核以及eclipse建立c语言工程以及成功下载到FPGA芯片过程遇到的各种问题以及解决方法详解
这不是一篇构建nios的教程,而是遇到的各种问题以及解决方法.至于构建教程,网上一大把,我推荐正点原子的FPGA教程,比较新,比较详细,通俗易懂!!! 这里以一个点亮LED灯的Nios软核为例,很明显 ...
- 简单三分钟,本地搭建 k8s
使用 minikube 在本地搭建 k8s 已经比以前要简单很多了.本文,我们通过简短的三分钟来重现一下在本地搭建 k8s 实验环境的步骤. Newbe.Claptrap 是一个用于轻松应对并发问题的 ...
- 如何实现LRU缓存?
面试官:来了,老弟,LRU缓存实现一下? 我:直接LinkedHashMap就好了. 面试官:不要用现有的实现,自己实现一个. 我:..... 面试官:回去等消息吧.... 大家好,我是程序员学长,今 ...
- 手写AVL平衡二叉搜索树
手写AVL平衡二叉搜索树 二叉搜索树的局限性 先说一下什么是二叉搜索树,二叉树每个节点只有两个节点,二叉搜索树的每个左子节点的值小于其父节点的值,每个右子节点的值大于其左子节点的值.如下图: 二叉搜索 ...
- Git 系列教程(13)- 分支管理
查看分支列表 $ git branch iss53 * master testing 注意 master 分支前的 * 字符:它代表现在 checkout 的那一个分支(也就是说,当前 HEAD 指 ...
- CommonsCollections1 反序列化利用链分析
InvokerTransformer 首先来看 commons-collections-3.1-sources.jar!\org\apache\commons\collections\functors ...
- Oracle体系结构一
总体结构分为三个部分:SGA,PGA,FILE文件 按功能分: 存储结构 存储结构对应关系 主要文件: 数据文件: 每个数据文件只与一个数据库相关联 一个表空间可以包含一个或者多个数据文件 一个数 ...
- Python脚本运行出现语法错误:IndentationError:unexpected indent
对于py来说典型错误就是缩进,,烦不胜烦,整理一下解决方法:一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: Indentation ...
- OpenGL渲染管道,Shader,VAO&VBO&EBO
OpenGL渲染管线 (也就是)OpenGL渲染一帧图形的流程 以下列举最简单的,渲染一个三角形的流程,你可以将它视为 精简版OpenGL渲染管线 更复杂的流程也仅仅就是:在此基础上的各个流程中 添加 ...