Java 学习之路 Week01

开始学习Java 已经一周了,这一周主要是学习基础和熟悉Java 门语言,毕竟是从零开始学Java嘛。学习是一件漫长而且充满挑战的过程,要从零到精通除了坚持的努力学习也别无他法了(天才除外)!在这个信息时代,任何人都可以通过学习而变得很厉害,但是坚持到最后的可能并不是特别多,这就是所谓的8:2(10个人或许就2个人坚持到最后),所谓的金字塔。其实我不是那种能坚持的人,但我想至少这一次坚持看看。

(这一周知识点真的好基础,现在开始整理)


第一:Java 的开发环境

1、下载JDK包(JAVA DEVELOP KIT java 开发工具包),在oracle 官网下载(目前建议使用版本1.7);
2、安装过程很简单,安装路径的选择就看个人喜好了,不过还是建议安装在系统盘吧(毕竟以后靠它搵食的);

3、安装JDK后,通过终端(cmd)输入  java -version 来查看JDK的版本验证是否安装成功 


4、配置环境变量(配置环境变量的目的就是要告诉系统你的JDK的路径,至于具体为什么要配置环境变量自己百度吧),具体的配置要根据JDK的安装路径而定,变量名的名词用户也可以自定义。配置JAVA_HOME的好处就是,当你有多个版本的java开发环境时,只要修改JAVA_HOME一个环境变量就行了,而方便不同开发环境的切换。

新建变量名:JAVA_HOME 对应路径:C:\Program Files\Java\jdk1.7.0_80 

新建变量名:ClassPath 对应路径: .;%JAVA_HOME%\bin;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

在Path环境变量后添加: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;  

(注:配置过程注意分号; 是为了区分每一个路径,如果原来的path 后面没有分号,要先添加分号,不过现在win10 编辑环境变量的方式是以表格的形式啦)

这是win10 编辑Path的图

5、配置完毕后当然要测试啦,在终端(cmd) 中输入命令ava 或javac  ,如果输出JAVA的帮助信息,则安装成功。


第二:IDE的安装

工欲善其事,必先利其器,现在免费开源流行的Java的IDE莫过于eclipse了。其实eclipse 是免安装的,所以没有什么安装什么的不需要这么说明。所谓利器,也是用多了才能成为自己利器吧。

至于其他IDE ,如IntelliJ IDEA 或许以后会用到,但是目前还是先用熟eclipse吧。点击这里查看eclipse 常用设置,常用快捷键


第三:第一个Java程序(Helloworld.java)

//file name: HelloWorld.java
//声明一个HelloWorld的类,类名HelloWorld 和文件名一致
public class HelloWorld {
    //定义一个无返回值的main函数
    public static void main (String[] args){
        //输出打印字符串 hello world !
        System.out.println("hello world !");
    }
}
注: 方法体中: 可有有多条语句,语句按照顺序执行;

 java区分大小写 ;至少有一个main方法的public的类型 ;

主方法main必须用这个方式写: public static void main(String[] args) ;

不包含main的方法文件可以编译通过,单不能够用java指令运行 ;

可用中文而且没有语法错误,但是建议用英文(编程员的习惯)。


第四:java中的注释

在java中 可以实现单行注释也可以多行注释

单行注释语法:   //要注释的内用

多行注释语法:/* 要注释的内用 */ /** 要注释的内用 */

注意,当一行中有语句和注释时,注释要放在语句后面。


第五:转义字符

定义了一些字母前加"\"来表示常见的那些不能显示的ASCII 字符,其实转义字符常用的就几个吧,其他的遇到不懂可以百度的啦。

例如你要在字符串之间实现换行和打印一个引号,可以这样: System.out.print(“this has a \n and a \" here”);

\n换行,将当前位置移到下一行开头
\t水平制表(跳到下一个TAB位置)
\\代表一个反斜线字符''\'
\'代表一个单引号
\"代表一个双引号
\r
回车,将当前位置移到本行开头


第六:Java的标识符

Java中可以出现的,有意义的符号就叫做标识符 ;
Java中标识符要求:可以任意顺序大小字母,数字,下划线,美元符号$; 
不能以数字开头,不能是Java中的保留字(如public、int等); 
标识符可以是中文,但是强烈不建议使用中文; 
建议命名方法:驼峰法(如YourName,Your_Age,lunch_for_tomorrow); 
美式驼峰法:lunchForTomorrow (中国人常用,所以建议用美式驼峰法);
注意在Java中 "main" 不是关键字,但不建议用作标识符。

第七:Java 的关键字

Java编程语言事先定义的,有特别意义的标识符,有时又叫做保留字,还有特别意义的变量。
如double ,int,goto 等 (不用去背,当编程时间长了自然而然的就记住了)


第八:Java 的数据类型

Java数据类型被分为:基本数据类型和引用数据类型。 
Java中有8中基本数据类型: 
    类型             位长/b      取值范围 
布尔型(boolean)     1         true/false 
字节型byte)            8         -128~127 
字符型(char)          16       '\u0000'~'\uffff'即0~65535 
短整型(short)         16       -32768~32767 
整型(int)                  32       -2^31~2^31-1 
长整型(long)           64       -2^63~2^63-1 
单精度(float)           32        +-1.4E-45 或+-3.4028235E+38 
双精度(double)       64        +-4.9E-324 或+-1.797693134862315E+308 

(注意取值范围,避免溢出) 

字符串(String)      没有特定的范围和取值
(注意: Java中 double支持科学计数法;char是一个字符类型,实际上就是字符集点阵编码(字符引擎ASCII码) 
所有可以见的数字和字符及字符串都叫做字面量:
整数默认字面量为int ;小树默认字面量为double ;字符的默认字面量为char ;字符串默认字面量为string)

String类型不是基本数据类型,它被定义为类,属于引用数据类型。由于字符串是常用的数据类型,Java提供了对String类型特殊操作,直接引用,例如:String s=”hello world”。

对于数据类型的选择使用建议:整型使用int , 浮点型使用double;

java中 单引号引的数据 是char类型的 ;双引号引的数据 是String类型的;

引用类型是一个对象类型的,它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。很好理解吧,因为一个对象,比如说一个人,不可能是个数字也不可能是个字符啊,所以要想找它的话只能找它的地址了。 


第九:Java中不同进制数的表示方式java里不能这样表示二进制,只能是   8,10,16进制 

0开头的是八进制数,如033 
0x0X开头的为十六进制数,如0x49 ,0X66 


第十:数据类型的转换

较大类型数据转为较小类型的数据时可能发生溢出的情况(如int –> byte),如果需要则强制转换; 
int i = 300; byte b = (byte)i;     //在等号右边加括号说明强制转换的类型 
较小的类型转换到较大类型会自动完成,自动提升。 
浮点负转为整数的过程,小数点后面丢失,只保留整数 
注:在一定范围内char 型和数字可以互换。


第十一:运算符

运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算,有算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。(详情请看   百度百科:Java语言运算符

双目算术运算符:加(+) 减(-) 乘(*) 除(/) 取余(%) (整数和浮点数都可以取余) 

单目算术运算符:正数(+) 负数(-) 自增(++) 自减(--) 

三目算术运算符:a>b?true:false     说明  一个“?”,一个“:”,冒号前后需要有两个表达式或者是值或者是对象。

关系运算符:等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号:>= ,小于等于符号:<=

位运算符:与(&)、非(~)、或(|)、异或(^) 

赋值运算符: =



第十二:分支(if)

java中语句从上往下执行,顺序结构只能顺序执行,不能进行判断和选择,因此需要分支结构。
如果if的大括号只有一条语句,大括号可以省略,但是强烈建议不要省略
if语句:
if(布尔表达式){

    如果布尔表达式为true将执行的语句
}


if...else 语句:
if(布尔表达式){

    如果布尔表达式的值为true
}else{
    如果布尔表达式的值为false
}


if...else if...else 语句(else if 可以有无限多个):
if(布尔表达式 1){

    如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){

    如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
    如果布尔表达式 3的值为true执行代码
}else {

    如果以上布尔表达式都不为true执行代码
}

嵌套的 if…else 语句
使用嵌套的 if…else 语句是合法的。也就是说你可以在另一个 if 或者 elseif 语句中使用 if 或者 elseif 语句。嵌套可以有无限多个,但通常在三个以内。
if(布尔表达式 1){

    如果布尔表达式 1的值为true执行代码

    if(布尔表达式 2){

        如果布尔表达式 2的值为true执行代码
   }
}else {

    如果布尔表达式 1的值为false执行代码
}

 

第十三:分支(switch)

switch 分支 (可有n多个case 和break)判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
    case value1 :
       expression的结果或数值等于value1 时要执行的语句;
       break; //可选
    case value2 :
       expression的结果或数值等于value1 时要执行的语句;
       break; //可选
       //可以有任意数量的case语句
    default : //可选
       当以上结果都不等于expression时要执行的语句
}

switch 语句有如下规则:
switch 语句中的变量类型只能为 byte、short、int 或者 char。
switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句
switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。


第十四:循环(while,do...while...)

需要在 一定条件 下重复操作的过程:
循环条件:让循环不断进行的条件(当条件的结果一直为true时,这将是一个死循环;,一般情况尽可能避免使用死循环,特殊情况除外。)要注意循环控制条件的变化
循环体:循环需要执行的操作

while 循环的语法:(满足条件则执行)
while (循环条件) {
循环体(要执行的操作)
}

//当循环体只有一条语句的时候可以省略大括号{},但不建议
//while (true); 这是一个最简单的死循环

do...while... 循环语法:
do {
循环体
} while (循环条件);

//不管条件如何,都必须执行一次循环体(先执行直到条件不满足)


第十五:for循环

对于次数固定的循环完全可以用for循环来代替while循环

for (表达式1;循环条件;表达式2) {
    循环体}

for循环的过程:表达式1 --> 循环条件 --> 循环体 --> 表达式2 --> 循环条件 --> 循环体 --> 表达式2....

for循环的表达式和循环条件都可以省略,如 for( ; ; ) { 循环体};
for循环中当循环条件为空的时候默认为true
for循环中 表达式1 可以放在for循环的前面,如 int i=1; for ( ; i < 5; i ++ ) { 循环体};
for循环中 表达式2 可以放到for循环体里面,如 int i=1; for ( ; i < 5; ) { 循环操作; i ++;};
for (表达式1; 循环条件; 表达式2);
表达式1 和 表达式2 可以是包含 循环操作的逗号表达式: 表达式a, 表达式b, 表达式c,.......

增强 for 循环:Java5 引入了一种主要用于数组的增强型 for 循环。
增强 for 循环语法格式如下:
for(声明语句 : 表达式){
    代码句子
}

声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。
表达式:表达式是要访问的数组名,或者是返回值为数组的方法。

增强for循环例子:

//filename : test001.java
public class test001 {
	public static void main(String[] args) {
		int [] numbers = {1, 2, 3, 4, 5};
		for(int x : numbers ){
			System.out.print( x + "\t");
		}
	}
}
//结果输出:1    2    3    4    5


第十六:break 和 continue

break  主要用在循环语句或者 switch 语句中,用来跳出整个语句块。终止循环!
continue 终止本次循环, 适用于任何循环控制结构中,作用是让程序立刻跳转到下一次循环的迭代。


第十七:循环嵌套

循环嵌套:循环里面还有循环(循环可以多层嵌套)
外部循环体执行一次,内部循环就执行一轮。
外循环体内可有无限多个内循环,外循环执行一次,所有内循环 都执行一轮。
























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值