我的java学习之路2

来源:互联网 发布:sp最短路径优先算法 编辑:程序博客网 时间:2024/06/05 23:04

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

由于前面几天都是一些基础的东西,为了防止篇幅过大,就整理一下简明写了。其实也都是一些比较容易理解的东西。如果有写错的,请联系我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开头,如:0x122.整数类型的变量:byteshortintlong| 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.0314E22.浮点类型的变量:| 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个字节,只有两种形式:truefalse布尔类型用在一些运算表达式的结果上,例如4<5当然就是true8>9就是false在实际的使用当中,有些语句的条件表达式要求必须是布尔型,比如if语句,下面写一个简单的if例子:public class TestIf {    public static void main(String args[]) {        //if代表如果,格式:if(条件){执行语句}        if(5>4){            System.out.println("5大于4的结果为true");        }    }}