Java学习day2关键字
java的基本语法(1)
一、关键字
定义:被Java语言赋予特殊含义,用做专门用途的字符串
特点:关键字中的所有字母都为小写
二、标识符
定义:java对各种变量、方法和类等要素命名时所使用的的字符序列称为标识符(凡是自己可以起名字的地方都叫标识符)
合法规则:1.由26个英文字母大小写,0-9,_或$组成
2.数字不可以开头
3.不可以使用关键字或保留字,但能包含关键字和保留字
4.Java中严格区分大小写,长度无限制
5.标识符不能包含空格
命名规范:1.包名: 多单词组成时所有字母都小写:xxxyyyzzz
2.类名、接口名: 多单词组成时,所有单词的首字母大写:XxxYyyZzz
3.变量名、方法名: 多单词组成时,第一个单词首字母小写,第二个单词开始每个单词的首字母大写:xxxYyyZzz
4.常量名: 所有字母都要大写,多单词组成时每个单词用下换线连接:XXX_YYY_ZZZ
三、变量
概念:1.是内存中的一个存储区域
2.该区域有自己的名称(变量名)和类型(数据类型)
3.java中的每个变量必须先声明(定义),后使用
4.该区域的数据可以在同一类型范围内不断变化(例如先声明int i = 1;再声明i = 2;则i的值由1变为2)
5.变量是通过变量名来访问这块区域的
定义变量格式: 数据类型 变量名 = 初始化值
注意:1.变量的作用域:在一对{ }之间有效
2.必须有初始化值(第一次给变量赋值):例如 int i = 0; 若直接只int m;则错误,因为没有给变量初始化
3.声明变量过程中的=,不同于数学意义上的=,在java中表示赋值
变量的分类——按数据类型(除了8种基本数据类型之外,其他的都是引用数据类型)
8种基本数据类型
1.整数类型:byte、short、int、long
注意:1.java各整数类型有固定的表数范围和字节长度,不受具体OS影响,以保证java程序的可移植性 例如: byte b = 129 就超出了byte的表数范围,不合法
2.java的整型常量默认为 int 型
3.声明 long 型常量须后加 ‘l’ 或 ‘L’(长整型) 例如:long l = 6L (最好用大写L,因为小写l和1相似)
’ 2.浮点类型:float、double
注意:1.Java浮点类型也有固定的表数范围和字段长度,不受OS影响
2.Java的浮点类型常量默认为 double 型
3.声明 float 型常量,须后加 ‘f’ 或 ‘F’
4.浮点型常量有两种表示形式:十进制数形式(如5.12 512.0f .512)必须有小数点
科学计数法形式(如5.12e2 512E2 100E-2)结尾的"E+数字"表示E之前的数字要乘以10的多少次方,比如3.14E3就是3.14 × 103 =3140,3.14E-3 就是 3.14 x 10-3 =0.00314。
3.字符类型:char
注意:1.char 型数据用来表示通常意义上的“字符”(2字节)
2.字符型常量的表现形式:字符常量是用英文单引号 '' 括起来的单个字符,涵盖世界上所有书面语的字符。例如:char c1 = 'a'; char c2 = '6'; char c3 = '中';
Java中还允许使用转义字符 '\' 来将其后的字符转变为特殊字符型常量。例如: char c3 = '\n'; // '\n' 表示换行符
3.char类型是可以进行运算的,因为它都对应有Unicode码。
布尔类型:boolean
注意:1.boolean类型适用于逻辑运算,一般用于程序流程控制:if条件控制语句;
while循环控制语句;
do-while循环控制语句;
for循环控制语句;
2.boolean类型数据只允许取值true和false,无null (不可用0或非0的整数代替true和false) 例如:boolean b1 = true;或boolean b1 = false;
基本类型之外为引用类型:例如String类
引用类型特点:1.在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。
2.对象、数组都是引用数据类型。
3.所有引用类型的默认值都是null。
4.一个引用变量可以用来引用任何与之兼容的类型。
String类:1.值null可以赋值给任何引用类型的变量,用于表现这个引用变量中保存的地址为空,String类属于引用类型,可用null赋值
2.String类是一个典型的不可变类,String对象创造出来就不可能被改变。创造出的字符串将存放在数据区,保证每个字符串常量只有一个,不会产生多个副本 例如:int i0 = 1; int i1 = 1; 这种情况会在内存中储存两个1值,而String s0 = "hello"; String s1 = "hello"; 这种情况只会在内存中存在一个“hello”,假设“hello”的内存地址为xxxxxx,声明s0变量时给s0赋值“hello”实际上让s0变量引用“hello”的内存地址xxxxxx,当我们再声明变量s1也赋值“hello”的时候实际上也是直接把已经存在的“hello”的内存地址给s1引用
3.String类可以用加号拼接,例如:String s3 = "he" + "ll" + "o"; 输出为"hello"
基本数据类型转换
1.自动类型转换:容量小的数据类型自动转换为容量大的数据类型,数据类型按容量的大小排序为:
2.有多种类型的数据混合运算时,系统首先自动将所有的数据转换为容量最大的那种数据类型,然后再进行计算
3.byte,short,char,之间不会相互转换,他们三者在计算时首先转换为int
4.当把任何基本类型的值和字符串进行连接运算时(+),基本类型的值将自动转换为字符串类型
注意:1. 不能对boolean类型进行类型转换。
2. 不能把对象类型转换成不相关类的对象。
3. 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
4. 转换过程中可能导致溢出或损失精度,例如:
int i =128;
byte b = (byte)i;
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
5. 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入,例如:
(int)23.7 == 23;
(int)-45.89f == -45;
6.当有一系列的+的运算时,如果某个部分含有字符串,那么这个字符串往后都要按照字符串拼接去看,例如:
String str = 1 + 2 + 3 + "a" + 4 + 5; 打印结果为6a45
强制类型转换
1.条件是转换的数据类型必须是兼容的。
2.格式:(type)value type是要强制类型转换后的数据类型
int k = 7;
byte b = (byte)k; //转换的数据类型要用小括号括起来
3.通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换为基本类型。
参考资料:https://www.runoob.com/java/java-basic-datatypes.html
Java学习day2关键字的更多相关文章
- Java学习day2
今天学习了Java的数据类型.运算符.选择循环结构以及数组. Java所有的关键字全部小写 Java的数据类型与c语言相似,但是c语言定义数组时可以不主动对其初始化,而Java则必须先初始化,有动态和 ...
- java学习之关键字
java语言当中的关键字,之所以存在,是为了告诉编译器如何解释一段有意义的代码段.比如说 /**需求:演示java中关键字存在的含义步骤:用class,public,static,void等说明什么是 ...
- 【转】Java学习---volatile 关键字
[原文]https://www.toutiao.com/i6591422029323305480/ 前言 不管是在面试还是实际开发中 volatile 都是一个应该掌握的技能. 首先来看看为什么会出现 ...
- Java学习——static关键字
静态:static用法:是一个修饰符,用于修饰成员(成员变量或函数).当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用.类名.静态成员 ststic特点:1, 随着类 ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- Java学习笔记之面向对象、static关键字
一周Java学习总结 今天就总结理清一下关于面向对象和面向过程的程序设计的一些不同特点,以及讲下static关键字. 面向对象 现在接触的Java是面向对象的,现在的程序开发几乎都是以面向对象为基础的 ...
- 疯狂java学习笔记之面向对象(四) - this关键字
Java中this关键字主要有以下两个方法: 1.this引用 - 可用于任何非static修饰的方法和构造器中,当this用于方法中时,它代表调用该方法的实例/对象;当this用于构造器中时,它代表 ...
- 【Java学习笔记之一】java关键字及作用
Java关键字及其作用 一. 总览: 访问控制 private protected public 类,方法和变量修饰符 abstract class extends final implements ...
- Java学习之路(二):关键字和变量,运算符
关于关键字的一个概述 Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构,关键字不能用做变量名.方法名.类名.包名. Java常见的关键字 标识符 什么是标识 ...
随机推荐
- Vue刷新token,判断token是否过期
1.判断token是否过期,前端请求后,后台会返回一个状态给你.根据状态判断是否过期,刷新token 2.是否每次请求后端都会返回新的token给你.或者后端给你定义了一个刷新token的方法,那此时 ...
- vue 常见错的可能原因
标签或者组件名写错 Unknown custom element: <h> - did you register the component correctly? For recursiv ...
- mysql CREATE DATABASE语句 语法
mysql CREATE DATABASE语句 语法 作用:创建数据库. 大理石构件 语法:CREATE DATABASE database_name mysql CREATE DATABASE语句 ...
- VS2015编译问题:模块对于 SAFESEH 映像是不安全的
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2026 模块对于 SAFESEH 映像是不安全的. zlibvc C:\MyDirectory\test2\zlib-\contrib\ ...
- php实现大文件上传带进度条
1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc) APC实现方法: 安装APC,参照官方文档安装,可以使 ...
- Seata简单介绍及其原理(一)
Seata 是什么? Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的 ...
- clientX、pageX、offsetX、screenX的区别
这几个属性的区别说难不难,可是很容易搞混,很长一段时间没用,发现又忘记区别了,记不清哪个是哪个!真的很抓狂! 区别: clientX.clientY: 相对于浏览器窗口可视区域的X,Y坐标(窗口坐标) ...
- Online Game Development in C++ 第五部分总结
I. 教程案例框架描述 该套教程做了一个简单的汽车控制系统,没有用到物理模拟.用油门和方向控制汽车的加速度和转向,同时还有一些空气阻力和滚动摩擦力的设置增加了真实感.汽车的位置是通过加速度和时间等计算 ...
- 【转】mackbook wifi卡死未响应的问题
原文:http://tieba.baidu.com/p/6140144143?traceid= 1. wifi未响应了,紧急处理法:打开活动监视器,搜索airportd,结束掉进程 2. 彻底解决办法 ...
- python twisted异步将数据导入到数据库中
from twisted.enterprise import adbapi from twisted.internet import reactor def creat_conn(): # 数据库基本 ...