您的位置:首页 > 编程语言 > Java开发

我的java学习之路2

2017-06-14 20:30 99 查看

第二天——变量与数据类型

由于前面几天都是一些基础的东西,为了防止篇幅过大,就整理一下简明写了。其实也都是一些比较容易理解的东西。如果有写错的,请联系我q:412456671

标识符

关键字

编码和字符集

变量与常量

基本数据类型

1. 标识符

在java中,程序员自己起名字的地方都叫做标识符。例如,自定义的类名、方法名等,命名时一般也会遵循一些规则:
1. 命名时只能使用下划线(_),字母,数字和美元符号($);且不能以数字开头。这个是必须遵守的。
2. 见名知意,一种为了方便所有人而约定俗称的规则
3. 驼峰命名,即有多个单词出现时,每个单词的首字母大写
-类名:第一个字母大写,后续遵循驼峰
-变量和方法名:第一个字母小写,后续遵循驼峰
-包名:全部小写
4. java语言对大小写敏感,需要区分大小写
5. 命名长度没有限制
6. 不能使用官方已经使用的关键字


2. 关键字

已经被官方使用的字符串,拥有特定的含义;所有的关键字都是小写字母。
例如:class    public  break   case    for     while等


3. 编码和字符集

编码:通俗的讲,就是一个转换的过程。将一种格式转换成另一种格式,好像翻译一样
字符集:上面说到编码就像翻译一样,而字符集就像是翻译时的对照表,或者成为单词表。但是只有被权威机构编写的对照表才能称为字符集。常见的字符集有:
1. ascii码--英文字符集
2. iso8859-1--西欧字符集
3. BIG5--台湾大五码
4. GB2312--简体中文字符集 -> GBK(可以表示繁体中文)->GB18030(加入少数民族汉字)
5. Unicode--国际通用字符集

java中默认使用Unicode字符集


4.变量与常量

常量(本身具有数据类型)

说起常量,其实就是一些固定不变的东西,就好像数字1永远是1,'a'就是'a'一样。
'a'和char a='B';不是一回事,第一个'a'是一个单元字符,而第二个a就是一个被赋值的变量了。


变量(必须声明数据类型)

顾名思义,变量就是可以变化的量,就像上面的例子一样,第二个a被声明后赋予了一个值'B',理所当然的,我也可以重新为a赋值。

--作用域
说起变量,需要讲到变量作用域的问题,java中的变量作用域不需要特别去理解,只要知道他的作用域在离它最近的{},出了这个大括号就不再起作用了。一个简单的例子:

public class TestVar02{
int b=30;//放在方法外,类中的变量叫做成员变量
public static void main(String[] args){
int a=10;//放在方法内的变量叫局部变量

System.out.println(a);

if(5>2){
int c=90;
System.out.println(c);
}
System.out.println(c);//这里肯定报错,找不到符号。。
System.out.println(d);//这里肯定报错,找不到符号。。
}

public void test(){
int d=30;
System.out.println(b);
}
}


5. 基本数据类型

首先要说的是,java中的数据类型分为两种:

1.基本数据类型(分为四类八种)

-整数型:(byte,short,int,long)

-浮点型:(float,double)

-字符型:(char)

-布尔型:(boolean)

2.引用数据类型(在后面学习)

java是一个强类型语言,对数据类型敏感,所以每个数据都要有自己的数据类型。

整数型

1.整数类型的常量有哪些类型?
例如十进制数:33,-99,0等
八进制数,要求以0开头,如:012,034等
十六进制数,要求以0x开头,如:0x12等
2.整数类型的变量:byte,short,int,long
| type |占用空间大小|字节表数范围|
| byte |   1字节   | -128~127 |
|short |   2字节   |  正负3W   |
| int  |   4字节   |  正负21亿 |
| long |   8字节   |  非常多   |

public class TestVar03{
public static void main(String[] args){
int num1=12;//默认这个数就是十进制的
System.out.println("num1="+num1);//num1=12
int num2=012;//加0表示八进制
System.out.println("num2="+num2);//num2=10
int num3=0x12;//加0x或者 0X代表十六进制
System.out.println("num3="+num3);//num3=18

System.out.println("------------------------------");
byte num4=12;//声明一个变量是byte类型的,名字是num4,赋值是50
System.out.println(num4);//128超出byte类型表数范围。。

short num5=78;
System.out.println(num5);

int num6=12348910;
System.out.println(num6);

long num7=12345678910L;
System.out.println(num7);
//整数类型默认是int类型。
//要想把一个数赋给long类型的数据,后面必须要加上L(推荐)或者l
}
}


浮点型

1.浮点类型的常量:
十进制: 2.14   9.87
科学计数法: 314E-2   0.0314E2

2.浮点类型的变量:
| type  |占用空间大小|小数位的位数精准|
| float |   4字节   |    7~8位    |
|double |   8字节   |    15~16位  |

示例代码:

public class TestVar04{
public static void main(String[] args){
//在浮点类型中,默认是double类型的数据,要是赋给float类型的数据,后面必须加上f或者F
float f1=4.89F;
System.out.println(f1);
float f2=3.846496730458f;
System.out.println(f2);//3.8464968
double d1=5.3457923649239476994545;
System.out.println(d1);//5.345792364923947
double d2=478E-2;
System.out.println(d2);//4.78

//最好不要进行浮点数的比较:0.3 --- 0.2999999  ----0.300000000001
float f3=0.3f;
double d3=0.3;
System.out.println(f3==d3);//false
/*
区别:
= :用来赋值的
==:用来进行数值的比较的
结果会返还给我们布尔值。要是相等:返回true    不等:false
*/
}
}


字符类型

1.字符常量是用单引号括起来的单个字符,占两个字节

2.字符类型的变量:直接用一段代码来描述
代码:
public class TestVar06{
public static void main(String[] args){
char ch1='A';
System.out.println(ch1);//A
char ch2='a';
System.out.println(ch2);
char ch3='4';
System.out.println(ch3);
char ch4='中';
System.out.println(ch4);
//从上面的例子中我们可以看出来:在java中 无论是汉字,数字,字母 都占用一个字符 (2个字节)
//char ch5='aa';//单引号括起来的单个字符,0个不可以,2个不可以
//System.out.println(ch5);
System.out.println("===============下面的代码讲转义字符========================");
//转义字符:\ 它会将它后面的那个字母 转换成为其它的含义。
char ch5='\n';
System.out.print("你好"+ch5);
System.out.print("java");

System.out.println("===================");//\t后面的内容距离前面有一个制表符的位置
System.out.println("1111111111111111111");//19个1
System.out.println("1111111111\t66666");

System.out.println("1111111111111111111");//19个1
System.out.println("111111111111\t66666");

System.out.println("1111111111111111111");//19个1
System.out.println("1111111111111111\t66666");
System.out.println("===================");

System.out.println("aaaa\rbbb");//bbba  ----  \r回到本行起始位置
System.out.println("=====================");
System.out.println("aaaa\bbbb");//aaabbb  ---- \b向前光标移动一个位置
System.out.println("=========");
System.out.println("我先要学习的语言是\"java\"");

System.out.println("===============================================");
char ch6='A';//表面上字符型打印出来的就是字面含义,但是实际上在内存中存储的是它对应的一个码(ASCII码)
System.out.println(ch6);//A
System.out.println(ch6+30);//95
System.out.println(95-ch6);//30

System.out.println("===============================================");
char ch7='中';//表面上字符型打印出来的就是字面含义,但是实际上在内存中存储的是它对应的一个码(Unicode码)
System.out.println(ch7);//中
System.out.println(ch7+70);//20083
System.out.println(20083-ch7);
//ASCII是UNICODE码的前128位

System.out.println("====================扩充===========================");

System.out.println((char)(ch7+70));//20083----乳

System.out.println((int)'乳');//20083
}
}


布尔类型

布尔类型占用1个字节,只有两种形式:true和false
布尔类型用在一些运算表达式的结果上,例如4<5当然就是true,8>9就是false
在实际的使用当中,有些语句的条件表达式要求必须是布尔型,比如if语句,下面写一个简单的if例子:

public class TestIf {
public static void main(String args[]) {
//if代表如果,格式:if(条件){执行语句}
if(5>4){
System.out.println("5大于4的结果为true");
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: