java基础知识(一)之数据类型和运算符
1、标识符:JAVA里面我们可以为之命名的就是标识符,如变量、方法、类等。
但是标识符只能包含字母、数字、下划线(_)和美元符号($),并且只能以字母、下划线和美元符号开头不能以数字开头。
2、变量:在JAVA中存储数据的最小单元。实质上就是一小块内存。
计算机中存储数据的最小单元是位(bit)。
8bit = 1byte(字节)
1024byte = 1KB
一个英文字符占一个字节;
一个中文字符占两个字节;
内存和硬盘的区别:
内存临时保存数据,硬盘长期的保存数据。
程序运行的本质:就是开辟了一小块内存;程序是运行在内存中的。
由于在计算机中寻找一个变量只能通过内存地址或者是硬盘上的地址来寻找,但是内存地址、硬盘上的地址不便于记忆,于是就为地址命名,这就是变量名。
变量必须先声明再赋值。使用时,可以声明变量的同时进行初始化也可以先声明后赋值。
3、常量:不能变化量,即内存中保存的内容不能发生变化。
语法:final 数据类型 常量名 = 值; //常量名一般使用大写字符
4、变量的分类:
1)、从位置上分:
成员变量(在类中方法外定义的变量)
局部变量(在方法中定义的变量)
2)、从数据类型上分:
基本数据类型:4类8种
引用数据类型:除了基本数据类型之外的。
5、数据类型:用来规定变量只能存放什么样的数据。
1)、布尔类型——boolean(表示真与假,逻辑运算符)(1字节)值只有true和false
2)、字符类型——char(表示一个字符)在JAVA中字符类型占两个字节,而C语言中只占1个字节。本质上char就是整数。
3)、整数类型——byte(1字节)\short(2字节)\int(4字节)—默认\long(8字节)
4)、浮点数类型——float(4字节)\double(8字节)
一个字节可以表示256个整数,两个字节65536个。?
一个字节可以表示的最大正整数为127,最小负整数为-128。?
6、数据类型的转换
1)、小的自动转换成大的
byte/short/char—int—long—float—double
2)、boolean类型不能与其他类型之间转换。
3)、大的转换小的必须加强制转换。但需注意内存溢出问题。
4)、byte/short/char之间不能进行转换,如果参加了运算,先转换成int类型,再进行运算。
7、多种数据类型混合运算的时候,先把所有的数据转换成参加运算中最大的类型,再进行运算。
8、&&(||)比&(|)效率更高。当判断出第一个表达式为假(真)的时候,&&(||)可以直接判断结果,后一表达式就不再执行了。
9、三目表达式——X?Y:Z
当X为真时,结果为Y;反之,为Z。
10、自增自减运算符
当运算符放在变量的前面的时候,先自加(自减)在运算;若放在变量的后面,先运算再自加(自减)。
11、注释:?
三种类型:
文档注释:/**开头 多行注释:/*开头 单行注释://
结尾*/ 结尾*/
通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。
javadoc -d doc 类名.java
PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:
@author 标明开发该类模块的作者
@version 标明该类模块的版本
@see 参考转向,也就是相关主题
@param 对方法中某参数的说明
@return 对方法返回值的说明
@exception 对方法可能抛出的异常进行说明
- 基础数据类型之四类八种
除了 这四类八种基础类型,剩下的java 一切类型都是引用类型。
第一类:整型 byte short int long
第二类:浮点型 float double
第三类:逻辑型 boolean(它只有两个值可取true false)
第四类:字符型 char
Byte 1字节,short 2字节,int 4字节,long 8字节
一个字节占8位(1byte=8bits),那么这些类型能表示的最大数是多少呢?各位听众,看仔细咯:
? 以short类型为例,2个字节,16位,用二进制表示最大数就是 1111 1111 1111 1111,理论上来说最大数应该是2^16 - 1,但实际上由于整型是可以为负数的,那么他就是有符号位的,那没办法高位的1就是表示符号位了(最高位为1表示负数,0表示正数),所以正整数的最大数为 0111 1111 1111 1111,即为32627(2^15 - 1);负数的最大数1111 1111 1111 1111,反码(正数没有反码,负数的反码符号位保留,其他位取反)为:1000 0000 0000 0000,补码(补码为反码+1)为:1000 0000 0000 0001,即为-32628(-2^15)。
类型 取值范围
byte -2^7 ~ 2^7 - 1
short -2^15 ~ 2^15 - 1
int -2^31 ~ 2^31 - 1
long -2^63 ~ 2^63 -1
java中默认的整数类型是int类型,如果要定义为float型,则要在数值后加上l或L;
默认的浮点型也是双精度浮点,如果要定义为float型,则要在数值后加上f或F。
把一个能表示更大范围或者更高精度的类型,转换为一个范围更小或者精度更低的类型时,就需要使用强制类型转换。
注意:未带有字符后缀标识的整数默认为int类型;未带有字符后缀标识的浮点数默认为double类型。
!!!!!!String 是引用类型 不属于四类八种基础数据类型中的一个,切记切记 往往面试的时候 面试官会问道这个问题而且频率很高。
在计算过程中三个比较特殊的情况:正无穷大,负无穷大,NaN,这三个值都有常量与之对应
另外,对NaN值的判断不能使用“==”来判断,Java中提供了专门的方法进行判断,Double.isNaN();
java基础知识(一)之数据类型和运算符的更多相关文章
- java基础知识—变量、数据类型和运算符
1.变量:存储数据的一个基本单元.2.变量的声明和赋值: 1)声明并赋值;数据类型 变量名=值 例如:int prince=10; 2) 声明.赋值分为两步: 数据类型 变量名: 例如:int=pri ...
- Java 第二章 变量、数据类型和运算符
第二章 变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...
- Java中的变量,数据类型和运算符
变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...
- java基础讲解04-----数据类型和运算符
1.java的基本数据类型 1.数值型 { 整数型 byte , short ,int ,long 浮点型 float , double } 2.字符型 3.布尔型 2.运算符 1.赋 ...
- Java中的变量、数据类型和运算符
1. java语言是一种强类型的语言,对各种数据类型都有明确的区分,而计算机使用内存来记忆大量运算时需要使用的数据,而当声明一个变量时,即在内存中划分一块空间存储数据,而变量类型决定划分内存空间的大小 ...
- Go语言基础三:基本数据类型和运算符
Go语言数据类型 与其他编程语言一样,Go语言提供了各种数据类型,可分为基本的数据类型和复杂的数据类型.基本的数据类型就是基本的构造块,例如字符串.数字和布尔值.复杂的数据类型是用户自己定义的结构,由 ...
- 初识Java Java基础知识
今天给大家带来的是初级Java基础部分的知识:包括初识Java.变量.常量.数据类型.运算符.各种选择结构.循环结构.数组等Java的基础语法部分!!!内容.步骤超详细,附有各种案例的源代码(可以直接 ...
- Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...
- 毕向东—Java基础知识总结(超级经典)
Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...
- 黑马毕向东Java基础知识总结
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记 侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...
随机推荐
- PostgreSQL老司机博客 经常翻翻收获不小
德歌:https://github.com/digoal/blog/blob/master/README.md 唐成:http://blog.osdba.net/525.html 后面持续更新.../ ...
- 如何在eclipse中安装ADT
打开Eclipse,点击 Help -> Install New Software: 点击Add: 然后点击Archive,添加对应的上面的ADT-21.0.1.zip: OK后,再写上一个名字 ...
- Android 进阶12:进程通信之 Socket (顺便回顾 TCP UDP)
不要害怕困难,这是你进步的机会! 读完本文你将了解: OSI 七层网络模型 TCPIP 四层模型 TCP 协议 TCP 的三次握手 TCP 的四次挥手 UDP 协议 Socket 简介 Socket ...
- ng $interval(周期性定时器) $timeout(延迟定时器)
<!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> <met ...
- python3 tesserocr 安装 来解决部分爬虫遇到的字符识别问题
1. OCR OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程.对于图形验证码来说,它们都是一些不规则的字符 ...
- 分类(类别/Category)与 类扩展(Extension)
一.分类(类别/Category) 1.适用范围 当你已经封装好了一个类(也可能是系统类.第三方库),不想在改动这个类了,可是随着程序功能的增加需要在类中增加一个方法,这时我们不必修改主类, ...
- 转:使用django-admin.py创建django工程
原文:http://blog.csdn.net/a921800467b/article/details/8257352 安装Django首先需要安装数据库,可选的数据库有好几种,我选择的是MySQL数 ...
- model里面字段choices的values值的选择
代码如下: Model: class Person(models.Model): name = models.CharField(max_length=200) CATEGORY_CHOICES = ...
- ③SpringBoot中Redis的使用
本文基于前面的springBoot系列文章进行学习,主要介绍redis的使用. SpringBoot对常用的数据库支持外,对NoSQL 数据库也进行了封装自动化. redis介绍 Redis是目前业界 ...
- mybatis排序
排序的时候#和$的分别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by ...