JAVA基础之复识二
JAVA语言 未经本人允许禁止转载或使用
基础知识:JAVA数据类型,运算符,流程控制等
注释:
// 单行注释
/*
多行连续注释
...
*/
/**
文档注释,该类型的注释会生成一个html文件
...
*/
分隔符
,用于变量声明分割
. 将包及其子包名分开
; 表示一条语句结束,每条语句后面都要加;
() 在方法定义和调用中包含参数;在控制语句中包含表达式。
{} 包含自动初始化数组的值
[] 声明数据类型;也可表示撤销对数组值得引用
标识符:是赋予变量、类、方法和对象的名称
标识符以字母、下划线(_)或美元符号($)开头
第一个字母后可接字母,下划线,美元符号和数字
标识符大小写区别对待,且没有最大长度限制
在java系统中有一些标识符是系统定义好的,有专门用途,这些标识符为关键字或保留字,目前有49个,不能用作变量、类、方法和对象的名称
数据类型
8种基本的数据类型
布尔型:boolean
字符型:char
整型:byte,short,int,long
浮点型:float,double
1.在JAVA中布尔型和整数类型之间没有转换关系,禁止的。在C或C++允许
2.JAVA利用Unicode字符集表示字符,是16位(双字节)无符号(字符)数据类型
Unicode字符集的65535个字符要比C,C++的ASCII的255(8位,一字节)个字符多很多。
所有《可见的》UNIcode字符都可以加上单引号‘’如‘$’,'A';
还有一些不能直接加上单引号的特殊字符,需通过转义序列表示,如“'”表示单引号
\b, \r, \, \t, ", \ddd, \n, ', \uxxxx
在JAVA中所有数值类型大小均和平台无关,都是固定值,没有提供unsigned类型,均带有符号。
byte 8位 ((-2)^7 ~ 2^7-1)
short 16位 ((-2)^15 ~ 2^15-1)
int 32位 ((-2)^31 ~ 2^31-1)
long 64位 ((-2)^63 ~ 2^63-1)
整型(int)
最常用的整数类型,有符号(JAVA都有)32位的数据类型;int型变量常用于控制循环和数组下标的标识,在算术表达式,涉及到byte,short,int,long,在计算之前,较低的整型会被自动转换为最高的整数类型
如int i=1;
int除了表示十进制外,还可以表示八进制,十六进制,如:077 //第一位为0表示8进制;0x51AF //前两位为0x表示十六进制(A为10)
长整型(long)
long为64位的有符号数据类型,主要用于int型不能容纳的所希望的值的地方,
long型后有一个后缀“L”,必须要有的;;;
如“2155355245L”
如long a = 5435543544228L //定义一个长整型
浮点型(float和double)
浮点型数据就是带有小数部分的数字;
float是32位存储,数值后面有一个后缀“F“,必须要有的;;;;如2.23F
如果浮点数后面没有F,系统默认double类型 如2.232
在某些处理器cpu,float的处理速度比double的更快,而且占用空间只是double型的一半,但当数值变得很大或很小时,计算变得不精确;
float型变量定义如
float fo =123.45F //注意数值后面带有F
double使用64位存储,数值后面带有一个后缀”D“,(非必需,系统默认浮点型数不带后缀(F)都默认double型)
目前所有的数学函数都是double型,如sin(),cos(),tan()等
double型常用于多次迭代运算过程中保持《精确》或在操作很大的数;
变量定义如:double d1 = 73644.38478D
double d2 = sqrt(18)//取平方根
注意:使用浮点型数据,在遇到取值范围比其数据类型所能表示的最大范围还大的情形时会发生 上溢(Overflow)
在遇到取值范围比其数据类型所能表示的最小范围还小的情形时会发生 下溢(Underflow)。
在JAVA中各种数据类型必须先实例化才能用,数据类型实例化可分两种:常量和变量
常量:运行期间不能被修改的量,可分为普通常量和标识符常量;
重#定义一个常量需用final,在JAVA编码约定中,普通常量应全部大写并用下划线分割,对象常量可以大小写混用。
final double PI = 3.1415927 //定义一个double类型的常量
几个常用于表示最大最小的常数及几个溢出的常数;
MAX_VUALUE (最大值,Float.MAX_VALUE,Double.MAX_VALUE,下同)
MIN_VALUE (最小值,)
POSITIVE_INFINITY(正无穷大)
NEGATIVE_INFINITY (正无穷小)
NAN (0/0 溢出)
变量 基本的存储单位
type identifier [=value] [,identifier [=value],,,,,,,]
(声明)类型 标识符 可选的初始化部分(赋初值)
变量可分以下几种:局部变量,类成员变量,方法参数,异常处理参数
局部变量(作用域为其所在的方法或方法中一个代码块)
类成员变量(作用域其所在整个类)
方法参数(作用域是该参数被传递的方法)
异常处理参数(作用域是异常处理代码块,其作为参数传递给异常处理代码)
在JAVA中,任何变量必须经过初始化后才能使用,变量被创建时,在分配存储的同时会给初始化值如0,0,0,0,0L,0.0F,0.0D,‘\u0000’(char),false,null(引用类型变量)
JAVA基础之复识二的更多相关文章
- JAVA基础之复识一
JAVA不单是一门计算机编程语言,而且还是一种基于WEB的全方位软件开发技术, java特定运行平台及关键特点 java开发工具包的安装,配置与应用 java语言的基本概念 java面向对象编程 ja ...
- JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题
JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序猿杜鹏程的博客:http://blog ...
- java基础-引用数据类型之二维数组(Array)
java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...
- JAVA基础——编程练习(二)
JAVA编程练习(二) 今天我为了巩固之前的java基础知识的学习,再次进行实战演习,编写了一个小小的java控制台程序,主要是运用java面向对象的思想来完成这个小项目. 一.项目背景介绍 根据所学 ...
- java基础梳理--朝花夕拾(二)
1.Java语言语法规则和文件格式: 第一个Java程序:/** 第一个Java程序:控制台输出Hello world!*/public class Test{ //访问修饰符 class关键词 ...
- java基础知识一览(二)
一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...
- Java基础学习总结(二)
Java语言的特点: Java语言是简单的 Java语言是面向对象的 Java语言是跨平台(操作系统)的(即一次编写,到处运行) Java是高性能的 运行Java程序要安装和配置JDK jdk是什么? ...
- JAVA基础学习day20--IO流二-缓冲流、字节流
一.缓冲流 1.1.字符流的缓冲区 缓冲区的出现是为了提高IO的读写效率 对应类 BufferedReader BufferedWriter 缓冲区要结合流才可以使用 在流的基础上对流的功能进行了增强 ...
- java基础学习总结——线程(二)
一.线程的优先级别
随机推荐
- hdu 1466 计算直线的交点数 递推
题目描述 平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数. 比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行). 输入 输入数据包含多个测试实例,每个测试实例占一行,每行包 ...
- node 读取多个文件、合并多个文件、读写多个文件
一.读取文件 1.找文件中匹配的内容 let fs = require('fs') let content = fs.readFileSync('/Users/**/desktop/Test.txt' ...
- PHP官方文档和phpstorm配置指南
http://cn2.php.net/manual/zh/ phpstorm安装——>next——>…… 下载PHP.exe 地址:http://www.php.net/ 配置interp ...
- 从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择
背景 随着公司业务量的飞速发展,平台面临的挑战已经远远大于业务,需求量不断增加,技术人员数量增加,面临的复杂度也大大增加.在这个背景下,平台的技术架构也完成了从传统的单体应用到微服务化的演进. 系统架 ...
- sqlserver搜索中怎么把varchar类型转换成numeric类型
sqlserver搜索中怎么把varchar类型转换成numeric类型 可以用cast来转换 如:列名叫grade,表名为A select cast(grade as numeric(y,x)) f ...
- HTML <canvas> testing with Selenium and OpenCV
from: https://www.linkedin.com/pulse/html-canvas-testing-selenium-opencv-maciej-kusz Since HTML < ...
- 一个用python简单的封装了aria2的jsonrpc中adduri的脚本
aria2是一个十分牛逼的下载神器,有时候项目需要一个很牛逼的下载中间件的话,aria2是一个不错的选择.其中支持jsonrpc和websocket的特性尤其诱人.但是python用起来还是有点不爽, ...
- xtrabackup 对pxc节点进行备份恢复
xtrabackup 对pxc节点进行备份恢复 全量备份一个节点的数据,当节点挂掉时,使用备份恢复到最近状态,再启动节点加入集群. 备份 xtrabackup 命令小解释: --defaults-fi ...
- 06:vuejs项目实战
1.1 项目说明 1.技术架构 vue.js, 模块化,工程化, 移动端 2.目录部署 Css:所有样式文件 Data:所有异步接口 Img:所有图片文件 Js:所有js文件(2.0) index.h ...
- js获取对象的key
var obj = {"name":"名字","age":"18"};var temp = "";f ...