Java初始入门(二)
来源:互联网 发布:sopcast网络电视下载 编辑:程序博客网 时间:2024/05/18 01:53
关键字
关键字定义
Java语言赋予特定含义的单词。
关键字特点
组成关键字的字母全部小写。
注意main虽然经常用,但不是关键字
标识符
标识符是什么?
用来标识某个实体的一个符号,给类,接口,方法,变量等起名字时使用的字符序列。
组成规则
由英文大小写字母、数字字符、$和_组成。
注意事项
标识符不能以数字开头,不能是Java中的关键字,区分大小写。
标识符命名规则
标识符的命名主要分为以下几种:
- 包:其实就是文件夹,用于把相同的类名进行区分。包名全部小写。
- 类或接口
一个单词:首字母大写; 如:class Student{}
多个单词:每个单词的首字母大写;如:class StudentName{}
- 方法或变量
一个单词:单词的首字母小写;如:main
多个单词:从第二个单词开始,首字母大写;如:myName
- 常量
一个单词:全部大写;如:PI
多个单词:每个单词都大写,中间用_隔开;如:STUDENT_AGE
注意,不同人提出的命名规则不一样,只要遵循一种常用的即可。
注释
单行注释,格式为://注释文字
多行注释,格式为: /* 注释文字 */
文档注释,格式为:/** 注释文字 */
数据中进制
不同进制的数据组成
二进制
由0,1组成。以0b开头
八进制
由0,1,…7组成。以0开头
十进制
由0,1,…9组成。整数默认是十进制的
十六进制
由0,1,…9,a,b,c,d,e,f(大小写均可)。以0x开头
进制转换
关于进制转换,将以以下四幅图去展示,四幅图是我看传播智客上视频得到的资料,如下所示:
下面图片给出的是二进制到十进制、八进制和十六进制的转换:
下面给出任意进制到十进制的转换:
下面给出的是十进制到任意进制的转换:
原码、反码、补码
原码
最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
反码
正数的反码与其原码相同;负数的反码是除符号位外对其原码逐位取反。
补码
正数的补码与其原码相同;负数的补码是在其反码的末位加1。
原码、补码及反码的相互转化
计算机中所有数据的运算都是采用补码进行。
Java中数据类型
Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,具体类型及所占内存空间大小如下表所示:
注意事项
- 上表中1~8是基本数据类型,9~10是引用数据类型。整数默认为:int,小数默认为:double
- boolean类型数据只允许取值 true 或 false,不可以0或非0的整数替代true和false
- 声明long型常量必须后加‘ l ’或‘ L ’
- Java 浮点型常量默认为 double 型,如要声明一个常量为 float 型,则需在数字后面加 f 或 F
数据类型转换
默认转换
不同数据类型之间的默认转换如下所示:
byte,short,char相互之间不转换,他们参与运算首先转换为int类型;
byte,short,char—int—long—float—double看下例:
class DataType { public static void main(String[] args) { //两个int类型做加法 int x = 3; int y = 4; int z = x + y; System.out.println(z); //输出结果为7 //定义一个byte类型,一个int类型,做加法 byte a = 3; int b = 4; int c = a + b; //因为int类型大于byte类型,因此a首先转换为int型,再进行加法,最后赋给c System.out.println(c); //byte c = a + b; 错误,a + b后的类型为int型,可能造成精度损失 System.out.println(c); }}
强制转换
格式为:目标类型 变量名=(目标类型)(被转换的数据);一个例子:
class DataTypeDemo4 { public static void main(String[] args) { byte a = 3; int b = 4; //上一个例子会造成编译错误,因为精度损失。byte c = 7; byte c = (byte) (a + b);//用强制类型转换改进 System.out.println(c); }}
典型题目
题目1:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么?
答案1:
class DataTypeDemo6 { public static void main(String[] args) { byte b1 = 3,b2 = 4,b; //b = b1 + b2; 错误,变量相加,会首先看类型问题, //最终把结果赋值的也会考虑类型问题,byte型会默认转换为int型。 b = 3 + 4; //常量,先把结果计算出来, //然后看是否在byte的范围内,如果在就不报错。 }}
题目2:
byte b = 130;有没有问题? 如果想让赋值正确,可以怎么做?结果是多少?
答案2:
class DataTypeDemo7 { public static void main(String[] args) { //因为byte的范围是:-128到127。 //而130不在此范围内,所以报错。 //byte b = 130; //我们可以使用强制类型转换 byte b = (byte) 130; //结果是多少呢? System.out.println(b); }}
结果的分析过程:
由前面可知,计算机中数据的运算都是补码进行的。因此主要分为以下进步:
A. 得到130这个数据的二进制
由于130为正数,因此原码、反码和补码都一样,为:
00000000 00000000 00000000 10000010
B. 截取操作
由于130为int型,字节数大于byte类型字节数,因此要进行截取,如下所示:10000010 ,这个是补码
C. 已知补码求原码
所以最后结果为-126
题目3:
写出下列输出结果:
System.out.println(“hello”+’a’+1);
System.out.println(‘a’+1+”hello”);
System.out.println(“5+5=”+5+5);
System.out.println(5+5+”=5+5”);
答案3:
class DataTypeDemo9 { public static void main(String[] args) { System.out.println("hello"+'a'+1); //helloa1 System.out.println('a'+1+"hello"); //98hello System.out.println("5+5="+5+5); //5+5=55 System.out.println(5+5+"=5+5"); //10=5+5 }}
字符串数据和其他数据做+,结果是字符串类型。这里的+不是加法运算,而是字符串连接符。并且按照自左向右运算
未完待续!!!!
- Java初始入门(二)
- JAVA初始入门(一)
- Java入门初始
- 初始python(二)
- java学习初始感谢二
- JAVA入门(二)
- 初始java (ki)
- python-初始篇(二)
- java入门学习(6)—封装,继承,多态,this,super,初始代码块
- java入门必读(二)
- java入门学习(二)
- Java入门(二)chapter1
- (二)JAVA入门--继承
- Java入门学习(二)
- 数据结构入门---初始二叉树(下)
- 初始cocoStudio(二)动画编辑器
- angular1x初始与架构演进(二)
- Python学习之初始(二)
- Fragment的展现与Activity状态丢失 IllegalStateException:Can not perform this action after onSaveInstanceState
- hdoj Intersection 5120 (数学计算几何) 求两个相交圆的面积
- request获取网页单选框的值
- hdu 1257 最少拦截系统
- poj 2674
- Java初始入门(二)
- 开发者,速度远比你以为的重要
- 2015 CCPC D题
- 操作符重载
- CAN通讯总结2
- 今日学习札记——C语言指针与程序风格(11.6)
- 电子现金 圈存、补登
- 转换字符串格式为原来字符串里字符+该字符连续出现的个数
- JS与iOS之间的通信 iOS调用JS代码