Java入门第一季——从此投身Java??

Posted Xiao梁的学习笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java入门第一季——从此投身Java??相关的知识,希望对你有一定的参考价值。

找工作告一段落。

最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~

 

Java开发第一季


 一、简介

1.1 Java SE——基础核心;

以此为基础,又分为Java EE(企业应用开发,JSP等),Java ME(嵌入式开发,安卓等);

JVM(Java Virtual Machine);

Java虚拟机,使Java代码可以跨平台运行;

.java——》编译器——》.class——》解释器——》显示;

JDK Java开发工具包;

JRE Java运行环境;

关系:JDK包含JRE包含JVM;

1.2 环境

一:安装JDK,官网,对应配置安装;

二:环境配置;

JAVA_HOME  配置JDK安装路径;(安装路径)  

PATH            配置JDK命令文件的位置;(bin目录)

CLASSPATH  配置类库文件的位置;(lib文件夹)

三:验证:cmd命令窗输入java或javac

1.3 用记事本编写java程序

记事本写.java——》javac生成.class——》用java命令得到解释;

切换到文件所在目录——》javac hello.java——》java hello(注意java命令后面不跟后缀名!!);

1.4 eclipse

我才知道e是绿色文件,下载了解压缩就能用的。。。

一般流程:创建java项目——》创建程序包——》编写源程序——》运行;

 

注意:包的名字习惯上使用域名的反向;

1.5 使用export和import进行程序的移植 


二、变量与常量

 2.1 Java中的关键字

Java 语言中有一些具有特殊用途的词被称为关键字。关键字对 Java 的编译器有着特殊的意义,在程序中应用时一定要慎重哦!!

Java 中常用关键字:

问:这么多,记不住啊。。。。。。-_-||

答:现在不需要你记住所有,混个眼熟即可,在学习的过程中,你会逐步找到感觉并记住他们

对了,差点忘了大事,Java 关键字是区分大小写的.所以 void 是关键字,但 Void 就不是了~~

 2.2 认识Java标识符

  问:标识符是神马?

  答:标识符就是用于给 Java 程序中变量、类、方法等命名的符号。

使用标识符时,需要遵守几条规则:

 1.  标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴

 2.  标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以

 3.  标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!

 4.  标识符的命名最好能反映出其作用,做到见名知意。

 2.3 变量是什么

简单的说,我们可以把变量看作是个盒子,可以将钥匙、手机、饮料等物品存放在这个盒子中,也可以在需要的时候换成我们想存放的新物品。

在 Java 中,我们通过三个元素描述变量:变量类型、变量名以及变量值。

如果我们把变量比作是酒店的房间,要存储的数据就好比要住宿的客人,我们可以根据客人的要求安排其入住“标准间”或者是“总统套房”,并且可以根据房间名字快速查找到入住客人的信息。同理,在 Java 程序中,我们也可以根据所需要保存的数据的格式,将其保存在指定类型的变量空间中,并且通过变量名快速定位!

例如,我们定义了一个变量 love ,用来保存一个字符串 “imooc” , 在程序中只要找到了 love 这个变量,就能找到存储在里面的 ”imooc”!当然,我们也可以把 love 里面的值更换成新的字符串 “i love imooc” !

运行结果:

各位小伙伴们一定要注意哦: Java 中的标点符号是英文的。譬如语句结束的分号,是英文符号的分号,千万表写成中文滴哦~~

 2.4 如何命名Java变量

如同酒店会给每个房间起个性化的名字一样,程序中的变量也需要用合理的名字进行管理---变量名!

需要注意,给酒店房间起名字时可以是数字,如“802”,也可以是有趣的名字,如“牡丹”、“美国总统”、“水帘洞”等,但在给变量起名字时,必须符合一定的规则,如下所示:

以下变量的命名都是符合规范的:

但请看下面的代码,你懂得哈:

优秀攻城师的习惯:

1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge

2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息

PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!

2.5 Java中的数据类型

通常情况下,为了方便物品的存储,我们会规定每个盒子可以存放的物品种类,就好比在“放臭袜子的盒子”里我们是不会放“面包”的!同理,变量的存储也讲究“分门别类”!

Java 语言是一种强类型语言。通俗点说就是,在 Java 中存储的数据都是有类型的,而且必须在编译时就确定其类型。 Java 中有两类数据类型:

在 Java 的领域里,基本数据类型变量存的是数据本身,而引用类型变量存的是保存数据的空间地址。说白了,基本数据类型变量里存储的是直接放在抽屉里的东西,而引用数据类型变量里存储的是这个抽屉的钥匙,钥匙和抽屉一一对应。

常用的基本数据类型有:

2.6 Java中变量的使用规则

不得不接受的变量小脾气:

1、Java 中的变量需要先声明后使用

2、变量使用时,可以声明变量的同时进行初始化

也可以先声明后赋值

3、变量中每次只能赋一个值,但可以修改多次

4、main 方法中定义的变量必须先赋值,然后才能输出

5、虽然语法中没有提示错误,但在实际开发中,变量名不建议使用中文,容易产生安全隐患,譬如后期跨平台操作时出现乱码等等

2.7 Java中的自动类型转换

在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。例如:

代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0 

这种转换称为自动类型转换。

当然自动类型转换是需要满足特定的条件的:

1.  目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型

2.  目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

 2.8 Java中的强制类型转换

相信小伙伴们也发现了,尽管自动类型转换是很方便的,但并不能满足所有的编程需要。   

例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢?

显然,这种转换是不会自动进行的!因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。

语法:( 数据类型 ) 数值

运行结果:

可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。

明白了吧,强制类型转换可能会造成数据的丢失

 2.9 Java常量的应用

所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变。

语法:final 常量名 = 值;

程序中使用常量可以提高代码的可维护性。例如,在项目开发时,我们需要指定用户的性别,此时可以定义一个常量 SEX,赋值为 "男",在需要指定用户性别的地方直接调用此常量即可,避免了由于用户的不规范赋值导致程序出错的情况。

伙计们注意啦:常量名一般使用大写字符

2.10 如何在Java中使用注释

在编写程序时,经常需要添加一些注释,用以描述某段代码的作用。

一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上。因此,注释是程序源代码的重要组成部分,一定要加以重视哦!

Java 中注释有三种类型:单行注释、多行注释、文档注释

运行结果: Hello Imooc!

我们可以通过 javadoc 命令从文档注释中提取内容,生成程序的 API 帮助文档。

打开首页,查看下生成的 API 文档

PS:使用文档注释时还可以使用 javadoc 标记,生成更详细的文档信息:

       @author 标明开发该类模块的作者

       @version 标明该类模块的版本

       @see 参考转向,也就是相关主题

       @param 对方法中某参数的说明

       @return 对方法返回值的说明

       @exception 对方法可能抛出的异常进行说明

 

4/23

 

呃,这些都查得到的暂时不想写了。。。

直接就是干,这边就是做笔记用好了。

1、使用 Arrays 类操作 Java 中的数组

//导入Arrays类
import java.util.Arrays;

public class HelloWorld {
    public static void main(String[] args) {
        
        // 定义一个字符串数组
        String[] hobbys = { "sports", "game", "movie" };
        
        // 使用Arrays类的sort()方法对数组进行排序
        Arrays.sort(hobbys);
        
        // 使用Arrays类的toString()方法将数组转换为字符串并输出
        System.out.println(  Arrays.toString(hobbys)          );
    }
}

 

tm注意了,是Arrays不是Array

 

2、foreach相关

foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。

import java.util.Arrays;

public class HelloWorld {
    
    public static void main(String[] args) {
        
        // 定义一个整型数组,保存成绩信息
        int[] scores = { 89, 72, 64, 58, 93 };
        
        // 对Arrays类对数组进行排序
        Arrays.sort(scores);
        
        // 使用foreach遍历输出数组中的元素
        for ( int score : scores ) {
            System.out.println(score);
        }
    }
}

 

 

3、二维数组用法实例

public class HelloWorld {
    public static void main(String[] args) {
        
        // 定义两行三列的二维数组并赋值
           String[][] names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}};
                 
        // 通过二重循环输出二维数组中元素的值
        for (int i = 0; i < names.length    ; i++) {
            
            for (int j = 0; j < names[i].length; j++) {
                
                System.out.println( names[i][j]                 );
            }
            
            System.out.println();
        }
    }
}

 

注意:定义,names.length,names[i].length

 

4、Java 中方法的重载

问: 什么是方法的重载呢?

答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:

问: 如何区分调用的是哪个重载方法呢?

答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:

运行结果:

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系

 

 

以上是关于Java入门第一季——从此投身Java??的主要内容,如果未能解决你的问题,请参考以下文章

java入门第一季01

Java入门第一季

《java入门第一季》之HashSet存储元素保证唯一性的代码及图解

Java入门第一季 1-1 Java简介

Java入门第一季 1-2 Java环境搭建

《java入门第一季》之HashSet存储自定义对象问题以及注意事项