Java从零开始学习——Java基础

Posted kevinsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java从零开始学习——Java基础相关的知识,希望对你有一定的参考价值。

一、IDE的应用

IDE(Integrated Development Environment)集成开发环境是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。

 

快捷代码

  1. psvm   == public static void main(String[] args)

  2. sout     == System.out.println();

  3. ctrl + D     == 复制当前行到下一行

 

二、基础语法

注释

  1. 单行注释

    //

  2. 多行注释

    /*

    */

  3. 文档注释

    /**

    */


//新建空项目的时候,需要配置项目框架,选择Java版本


 

标识符

关键字

技术图片

 

标识符使用注意点

技术图片

 

三、数据类型

Java为强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

两大数据类型

基本类(primitive type)

数值类型——整数型——byte 占1字节:-128~127

         ——short 占2字节:-32768~32767

         ——int 占4字节:-2147483648~2147483647

         ——long 占8字节:-9223372036854775808~9223372036854775807

    ——浮点型——float 占4字节

         ——double 占8字节

    ——字符型——char 占2字节

布尔类型(boolean)   ——占1位,其值只有true和false

 

引用类(reference type)

  1. 类(如String、Integer)

  2. 接口

  3. 数组

 

技术图片


整数拓展

十进制

二进制(0b)

八进制(0)

十六进制(0x)


浮点数扩展

1 float  f = 0.1f;
2 double d = 1.0/10;
3 System.out.println(f==d);//false
4 ?
5 //float 有限、离散、舍入误差、大约、接近但不等于,最好避免使用浮点数进行比较
6 float a = 123123123123123f;
7 float b = a + 18 System.out.println(a==b);//true

 


字符型扩展

 1 char c1 = ‘a‘;
 2 System.out.println((int)c1);//97
 3 char c2 = ‘中‘;
 4 System.out.println((int)c2));//20013
 5 //所有字符的本质还是数值
 6 //编码 Unicode 表(97 = a;65 = A) 2字节 
 7 //0 ~ 65536;U0000 ~ UFFFF
 8 ?
 9 //转义字符
10 // 	制表符
11 // 
换行
12 System.out.println("Hello	World");

 


布尔值扩展

1 boolean flag = true;
2 if(flag == true){}
3 if(flag){}
4 //效果一样,下方代码更精简

 


其他扩展

1 String s1 = new String(original:"Hello World");
2 String s2 = new String(original:"Hello World");
3 System.out.println(s1==s2);//false
4 ?
5 String s3 = "Hello World";
6 String s4 = "Hello World";
7 System.out.println(s3==s4);//true
8 //对象要从内存分析

 

类型转换

 1 int i = 128;
 2 byte b = (byte)i;//内存溢出
 3 System.out.println(i);//128
 4 System.out.println(b);//-128
 5 ?
 6 //高转低,强制转换
 7 //低转告,自动转换
 8 double d = i;
 9 System.out.println(b);//128.0
10 ?
11 /*
12     1.不能对布尔值进行转换
13     2.不能把对象类型转换为不相干的类型
14     3.在把高容量转换成低容量时,强制转换(存在内存溢出和精度问题)
15     4.在把低容量转换成高容量时,自动转换
16 */
17 System.out.println((int)12.3);//12
18 System.out.println((int)12.34f);//12
19 ?
20 //JDK7特性,数字之间可以用下划线分割
21 //int 范围正负20E
22 int i = 1000_000_000;
23 System.out.println(i);//1000000000
24 ?
25 int a = 20;
26 int total = i * a;          //内存溢出
27 long total2 = i * a;        //内存溢出,赋值之前就已经出问题
28 long total3 = i * ((long)a);//a转换成long以后,赋值就以其为类型

 

四、变量、常量

技术图片

变量的三要素

  1. 变量名

  2. 变量类型

  3. 作用域

    类变量 //static

    实例变量 //变量类型 变量名字 = new HelloWorld();

    局部变量 //写在方法里

 

变量是特殊的常量

通过final这个修饰词来定义(修饰符不分先后顺序)

1 //静态常量
2 static final double PI = 3.14;

 

变量的命名规范

技术图片

 

五、运算符

技术图片

算术运算符

 1 int a = 10;
 2 int b = 20;
 3 System.out.println(a/b);//0,两者都是int类型,结果会有精度损失
 4 System.out.println(a/(double)b);/0.5
 5 long  a = 123456789123L;
 6 int   b = 123;
 7 short c = 10;
 8 byte  d = 8;
 9 System.out.println(a+b+c+d);//Long,有Long就是Long(有Double同理)
10 System.out.println(b+c+d);  //Int,没Long就是Int
11 System.out.println(c+d);    //Int

 

关系、逻辑运算符

1 int a = 3;
2 boolean b = (a < 2)&&(a++ < 4);
3 System.out.println(b);
4 System.out.println(a);

 

位运算

 1 /**
 2 0000 0000   0
 3 0000 0001   1
 4 0000 0010   2
 5 0000 0100   4
 6 0000 1000   8
 7 0001 0000   16
 8 ?
 9 A = 0011 1100;
10 B = 0000 1101;
11 ?
12 A&B = 0000 1100;
13 A|B = 0011 1101;
14 A^B = 0011 0001;
15 ~B  = 1111 0010;
16 ?
17 2*8如何计算最快,2*2*2*2
18 ?
19 << *2
20 >> /2
21 ?
22 2<<3 == 16;
23 */
24 int a = 10;
25 int b = 30;
26 //加号两侧有String类型的,则将另一侧转换为字符串类型进行拼接
27 System.out.println(""+a+b);//1030
28 //先运算前面的,然后再拼接
29 System.out.println(a+b+"");//30
30 //三元运算符
31 int score = 80;
32 //x ? y : z     如何x为ture,则y,否则z
33 String type = score < 60 ? "不及格" : "及格";

 

六、包(Package)

建立分级目录

建分级目录时(com.kevin.www),取消项目右上角的compact middle packlages,即可实现。

包命名规则

一般利用公司域名倒置作为包名。

使用import语句导入需要使用的包。

1 //导入路径下所有包文件
2 import com.kevin.www.*;

 

七、JavaDoc

1 /**
2  * @author Kevin    作者
3  * @version 1.0     版本号
4  * @since 1.8       最早使用的JDK版本
5  * @param name      参数名
6  * @return          返回值情况
7  * @throws Exception异常抛出情况
8  */

利用命令行生成文档

cmd中输入javadoc -encoding UTF-8 -charset UTF-8 name.java

可以生成一份网页文档,可以查看其中内容

 

利用IDEA生成文档

Tools-> Generate JavaDoc,打开 javadoc 文档配置页面

选择输出目录并添加参数 -encoding UTF-8 -charset UTF-8即可。

 

 

以上是关于Java从零开始学习——Java基础的主要内容,如果未能解决你的问题,请参考以下文章

手把手 从零开始学习JAVA(入门基础)

从零开始学大数据-Java基础-流程控制语句

从零开始学大数据-Java基础-switch语句

从零开始学习javajava基础语法

历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)

历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)