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入门第一季》之java语法部分小案例
到这里举一个小例子把语法部分梳理一下,下一节开始进入java正式基础--面向对象的学习整理. 案例: /* 某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全, 在传递过程中需要加密 ...
- JAVA入门第一季(mooc-笔记)
笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季 ...
- Java入门第一季
慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Ar ...
- 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)
根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: ...
- Java入门第一季学习总结
一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...
- java入门第一季2
1. 变量:在java中,我们通过三个元素描述变量:变量类型,变量名以及变量值 注意:java中的标点符号都是英文的 2. 变量名= 首字母+其余部分 字母,+ 字母 下划线, 数字 $ ...
- Java入门 第一季第二章 变量和常量
这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的keyword PS:Javakeyword区分大写和小写 2-2 认 ...
- 《java入门第一季》之ArrayList集合小案例
案例一:去除集合里面的重复元素 package cn.itcast_04; import java.util.ArrayList; /* * ArrayList去除集合中字符串的重复值(字符串的内容相 ...
- 《java入门第一季》之eclipse快捷键
Eclipse快捷键大全(转载) Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当 ...
随机推荐
- 【ubuntu子系统】使用windows自带的ubuntu子系统
在windows10系统中,自带了一款ubuntu子系统,就像是一个应用程序,一款软件,提供ubutnu的terminal窗口,可以使用对应的命令行模式.最重要的是,可以直接用来连接linux服务 ...
- 如何解决windows docker共享目录不支持符号链接(do not support symlinks)?
windows使用docker toolbox,搭建前端开发环境时,在共享目录使用npm安装前端依赖时,发现报错,无法使用符号连接. 这里有一个帖子专门讨论这个问题,感兴趣可以看一下: https:/ ...
- [cf 1015f] Bracket Substring (dp+kmp)
传送门 Solution 设dp方程dp[now][pos][red][fla]表示还有now个位置,pos表示匹配到第几位,red表示左括号数-右括号数,fla表示是否已经是给定串的字串 暴力转移即 ...
- 编译安装PHP7及扩展
一.编译安装PHP 1. 下载源码包并解压 源码包地址:http://php.net/downloads.php 下载源码包 当前PHP最新本门是7.2.9,下载 php-7.2.9 源码包 wget ...
- mybatis传入两个String类型的参数
1.项目spring +mybatis +oracle 2.报错信息: [DEBUG] -- :: org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debu ...
- ACDream - Dynamic Inversions II
先上题目: A - Dynamic Inversions II Time Limit: 6000/3000MS (Java/Others) Memory Limit: 128000/64000KB ( ...
- Android获取设备屏幕宽高像素值的两个方法
private void get1() { Resources resources = this.getResources(); DisplayMetrics dm = resources.getDi ...
- AOJ 0121 Seven Puzzle {广度优先搜索}(*)
原题 题意 题意是有一个输入,比方: 1 0 2 3 4 5 6 7 摆成例如以下形状: 1 0 2 3 4 5 6 7 0表示空格.其它数字能够移动到0的位置.最后须要到例如以下形状: 0 1 2 ...
- Oracle 11gR2 List-Range分区实验
一.实验目的 採用List-Range分区,对主分区指定表空间或者对子分区指定表空的不同情况,測试例如以下内容: 1.对List主分区不指定表空间.对Range子分区指定表空间,数据实际存储在哪个表空 ...
- Makefile中怎样调用python和perl文件为自己提供须要的数据
Makefile中怎样调用python和perl文件为自己提供须要的数据,利用print函数对外输出数据 实例代码例如以下 perl.pl #!/usr/bin/perl print("he ...