Java程序入门(一)

来源:互联网 发布:debian mysql 编辑:程序博客网 时间:2024/06/01 10:46

1. 认识java程序

首先,我们要知道什么叫程序,程序的意义是什么?
程序的目的实际就是想对数据做处理,那么我们就需要先对数据类型进行划分。

2. 数据类型划分

  • 基本数据类型:是进行内容的操作,而不是内存的操作
    数值型:byte short int long 默认值0
    浮点型:float double 默认值0.0
    布尔型:boolean 默认值false
    字符型:char 默认值’\u0000’

  • 引用数据类型:会占用内存,目的是进行数据交互
    数组 默认值均为null
    接口

3. 基本数据类型的使用

首先,float和short基本不会使用到,其他的使用场景分别为:

  • byte:编码转换,数据传输

  • int:表示年龄等数字先考虑int

  • long:表示文件,内存大小等使用long(字节)。主要还是考虑长度。
    eg:一个500M的文件,字节为500*1024*1024

  • double:表示小数时

  • boolean:在判断条件时

  • char:表示中文字符,Ascll表中的字符时

4. 整型

4.1 整型的理解

在什么时候使用整型?怎么定义?

在使用到整数的时候要用到整型,常用的就是int,long。在java中,一个整型的默认类型为int。这里通过下面代码来理解下这句话。

public class TestDemo {    public static void main(String[] args) {        //这里的10作为一个常量,默认类型为int        int num = 10;        //2147483647        System.out.println(Integer.MAX_VALUE);        //-2147483648        System.out.println(Integer.MIN_VALUE);        //-2147483648        System.out.println(Integer.MAX_VALUE + 1);        //2147483647        System.out.println(Integer.MIN_VALUE - 1);    }}

这里我们可以看到,int的最大值+1后变成最小值,最小值减一后变成最大值,这里的最大值和最小值就是int的默认范围。
这里最小值+1变成最大值实际上是叫数据溢出。简单来讲,就是数据的位数太短了,这个时候用long就可以解决。那么怎么将int转换为long呢?

  • (long)int变量

  • 常量L

//2147483648System.out.println(Integer.MAX_VALUE+1L);//-2147483649System.out.println((long)Integer.MIN_VALUE-1);

在这里举个很有意思的面试题目:

System.out.println(11+1l);

在这里会输出什么??

4.2. 整型的转换

  • 自动转换
public class TestDemo {    public static void main(String[] args) {        int x = 10;        //这里int自动转换为long类型        long num = x;    }}
  • 强制转换
public class TestDemo {    public static void main(String[] args) {        //这里同样存在自动转换        long x = 10;        //这里强制将long转换为int,此时不强制转换编译时会报错        int num = (int) x;    }}

5. 浮点型

这里我只想告诉大家,在java中,我们常用的就是double,而且对于小数的常量,默认就是double型。我们也能发现,double是java中数据范围最大的一个基本类型,所以与其他类型操作例如int型相加时,默认转为double并且不会有什么问题。

6. 字符型

char在java中用单引号’来表示。而且char可以用来表示中文字符,归功于java中采用unicode十六进制的编码格式,那么什么是unicode,中文字符是怎么存储的?
我们首先来了解下常用的几个字符:

  • 大写字母:‘A’~’Z’

  • 小写字母:’a’~’z’

  • 数字:’0’-‘9’

然后我们看看下面这段代码:

public class TestDemo {    public static void main(String[] args) {        char x = 'A';        int num = x;        System.out.println(num);    }}

这里涉及char到int的转换,因为unicode包含了Asall码,所以这里输出的是字符’A’在Asall的编号65。
综上所述,char最大好处可以表示中文字符,byte代表字节,一个字符等于两个字节。

7. 布尔型

布尔型比较简单,就是表示true和false,用来做判断。
有一点要注意,在C和C++中,0可以表示false,1表示true。但是!在Java中没有!只有true和false。

8. String字符串

因为之前的char只能表示单个字符,如果想表示多个字符,就可以用String。但是String是一个类,虽然不是基本类型,但是使用跟基本类型很接近,看下下面这段代码就明白了:

public class TestDemo {    public static void main(String[] args) {        String str = "hello";        str += " world";        System.out.println(str);    }}

之前说过,所有的数据类型与double操作都转为double,但是看下下面这段代码:

public class TestDemo {    public static void main(String[] args) {        int x = 10;        double y = 1.2;        String str = "计算结果" + x + y;        System.out.println(str);    }}

输出结果为101.2,所以我们这里要补充一句话,跟String类型相加时,优先转换为String再进行字符串连接。
最后再讲下转义字符,有’\n’, ‘\’ , ‘\d’等,但是在实际开发过程基本不会用到。

9. 安利个好东西

第一次写博客,发现了markdown很好用。比如项目工程的readme完全可以用md文件来写文档。表格的编写可能比较麻烦。我推荐这种方式,下载exceltk.exe,在该exe目录下输入

exceltk -t md -a r -xls test.xlsx

这句话含义是读取表格test.xlsx并生成md格式的文件,这样就直接将表格转化为markdown的语法保存在新生成的md文件中。ctrl+v其中内容即可,很方便。

头次写博客,有什么需要改进的大家指出,欢迎互相交流~~