Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言. Java 技术具有卓越的通用性, 高效性, 平台移植性和安全性, 广泛应用于 PC, 数据中心, 游戏控制台, 科学超级计算机, 移动电话和互联网, 同时拥有全球最大的开发者专业社群.
给你学习路线: html-CSS-js-jq-javase - 数据库 - jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
写代码:
1, 明确需求. 我要做什么?
2, 分析思路. 我要怎么做? 1,2,3.
3, 确定步骤. 每一个思路部分用到哪些语句, 方法, 和对象.
4, 代码实现. 用具体的 java 语言代码把思路体现出来.
学习新技术的四点:
1, 该技术是什么?
2, 该技术有什么特点 (使用注意):
3, 该技术怎么使用. demo
4, 该技术什么时候用? test.
-----------------------------------------------------------------------------------------------
小编推荐一个学 Java 的学习裙 [ 六五零, 五五四, 六零七 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
一: java 概述:
1991 年 Sun 公司的 James Gosling(詹姆斯. 高斯林) 等人开始开发名称为 Oak 的语言, 希望用于控制嵌入在有线电视交换盒, PDA 等的微处理器;
1994 年将 Oak 语言更名为 Java;
Java 的三种技术架构:
JAVAEE:Java Platform Enterprise Edition, 开发企业环境下的应用程序, 主要针对 web 程序开发;
JAVASE:Java Platform Standard Edition, 完成桌面应用程序的开发, 是其它两者的基础;
JAVAME:Java Platform Micro Edition, 开发电子消费产品和嵌入式设备, 如手机中的程序;
1,JDK:Java Development Kit,java 的开发和运行环境, java 的开发工具和 jre.
2,JRE:Java Runtime Environment,java 程序的运行环境, java 运行的所需的类库 + JVM(java 虚拟机).
3, 配置环境变量: 让 java jdkin 目录下的工具, 可以在任意目录下运行, 原因是, 将该工具所在目录告诉了系统, 当使用该工具时, 由系统帮我们去找指定的目录.
环境变量的配置:
1): 永久配置方式: JAVA_HOME=% 安装路径 %Javajdk
path=%JAVA_HOME%in
2): 临时配置方式: set path=%path%;C:Program FilesJavajdkin
特点: 系统默认先去当前路径下找要执行的程序, 如果没有, 再去 path 中设置的路径下找.
classpath 的配置:
1): 永久配置方式: classpath=.;c:;e:
2): 临时配置方式: set classpath=.;c:;e:
注意: 在定义 classpath 环境变量时, 需要注意的情况
如果没有定义环境变量 classpath,java 启动 jvm 后, 会在当前目录下查找要运行的类文件;
如果指定了 classpath, 那么会在指定的目录下查找要运行的类文件.
还会在当前目录找吗? 两种情况:
1): 如果 classpath 的值结尾处有分号, 在具体路径中没有找到运行的类, 会默认在当前目录再找一次.
2): 如果 classpath 的值结果出没有分号, 在具体的路径中没有找到运行的类, 不会再当前目录找.
一般不指定分号, 如果没有在指定目录下找到要运行的类文件, 就报错, 这样可以调试程序.
4,javac 命令和 java 命令做什么事情呢?
要知道 java 是分两部分的: 一个是编译, 一个是运行.
javac: 负责的是编译的部分, 当执行 javac 时, 会启动 java 的编译器程序. 对指定扩展名的. java 文件进行编译. 生成了 jvm 可以识别的字节码文件. 也就是 class 文件, 也就是 java 的运行程序.
java: 负责运行的部分. 会启动 jvm. 加载运行时所需的类库, 并对 class 文件进行执行.
一个文件要被执行, 必须要有一个执行的起始点, 这个起始点就是 main 函数.
----------------------------------------------------------------------------------------------
二: java 语法基础:
1, 关键字: 其实就是某种语言赋予了特殊含义的单词.
保留字: 其实就是还没有赋予特殊含义, 但是准备日后要使用过的单词.
2, 标示符: 其实就是在程序中自定义的名词. 比如类名, 变量名, 函数名. 包含 0-9,a-z,$,_ ;
注意:
1), 数字不可以开头.
2), 不可以使用关键字.
3, 常量: 是在程序中的不会变化的数据.
4, 变量: 其实就是内存中的一个存储空间, 用于存储常量数据.
作用: 方便于运算. 因为有些数据不确定. 所以确定该数据的名词和存储空间.
特点: 变量空间可以重复使用.
什么时候定义变量? 只要是数据不确定的时候, 就定义变量.
变量空间的开辟需要什么要素呢?
1, 这个空间要存储什么数据? 数据类型.
2, 这个空间叫什么名字啊? 变量名称.
3, 这个空间的第一次的数据是什么? 变量的初始化值.
变量的作用域和生存期:
变量的作用域:
作用域从变量定义的位置开始, 到该变量所在的那对大括号结束;
生命周期:
变量从定义的位置开始就在内存中活了;
变量到达它所在的作用域的时候就在内存中消失了;
数据类型:
1): 基本数据类型: byte,short,int,long,float,double,char,boolean
2): 引用数据类型: 数组, 类, 接口.
级别从低到高为: byte,char,short(这三个平级)-->int-->float-->long-->double
自动类型转换: 从低级别到高级别, 系统自动转的;
强制类型转换: 什么情况下使用? 把一个高级别的数赋给一个别该数的级别低的变量;
小编推荐一个学 Java 的学习裙 [ 六五零, 五五四, 六零七 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
运算符号:
1), 算术运算符.
+ - */ %%: 任何整数模 2 不是 0 就是 1, 所以只要改变被模数就可以实现开关运算.
+: 连接符.
++,--
2), 赋值运算符.
=+= -= *= /= %=
3), 比较运算符.
特点: 该运算符的特点是: 运算完的结果, 要么是 true, 要么是 false.
4), 逻辑运算符.
&|^ !&&||
逻辑运算符除了 ! 外都是用于连接两个 boolean 类型表达式.
&: 只有两边都为 true 结果是 true. 否则就是 false.
|: 只要两边都为 false 结果是 false, 否则就是 true
^: 异或: 和或有点不一样.
两边结果一样, 就为 false.
两边结果不一样, 就为 true.
& 和 && 区别: & : 无论左边结果是什么, 右边都参与运算.
&&: 短路与, 如果左边为 false, 那么右边不参数与运算.
| 和 || 区别:|: 两边都运算.
||: 短路或, 如果左边为 true, 那么右边不参与运算.
5), 位运算符: 用于操作二进制位的运算符.
- &|^
- <<>>>>>(无符号右移)
练习: 对两个变量的数据进行互换. 不需要第三方变量.
- int a= 3,b = 5;-->b = 3,a = 5;
- a = a + b; a = 8;
- b = a - b; b = 3;
- a = a - b; a = 5;
- a = a ^ b;//
- b = a ^ b;//b = a ^ b ^ b = a
- a = a ^ b;//a = a ^ b ^ a = b;
练习: 高效的算出 2*8 = 2<<3;
5, 语句.
If switch do while while for
这些语句什么时候用?
1), 当判断固定个数的值的时候, 可以使用 if, 也可以使用 switch.
但是建议使用 switch, 效率相对较高.
switch(变量){
case 值: 要执行的语句; break;
...
default: 要执行的语句;
}
工作原理: 用小括号中的变量的值依次和 case 后面的值进行对比, 和哪个 case 后面的值相同了
就执行哪个 case 后面的语句, 如果没有相同的则执行 default 后面的语句;
细节: 1):break 是可以省略的, 如果省略了就一直执行到遇到 break 为止;
2):switch 后面的小括号中的变量应该是 byte,char,short,int 四种类型中的一种;
3):default 可以写在 switch 结构中的任意位置; 如果将 default 语句放在了第一行, 则不管 expression 与 case 中的 value 是否匹配, 程序会从 default 开始执行直到第一个 break 出现.
2), 当判断数据范围, 获取判断运算结果 boolean 类型时, 需要使用 if.
3), 当某些语句需要执行很多次时, 就用循环结构.
while 和 for 可以进行互换.
区别在于: 如果需要定义变量控制循环次数. 建议使用 for. 因为 for 循环完毕, 变量在内存中释放.
break: 作用于 switch , 和循环语句, 用于跳出, 或者称为结束.
break 语句单独存在时, 下面不要定义其他语句, 因为执行不到, 编译会失败. 当循环嵌套时, break 只跳出当前所在循环. 要跳出嵌套中的外部循环, 只要给循环起名字即可, 这个名字称之为标号.
continue: 只作用于循环结构, 继续循环用的.
作用: 结束本次循环, 继续下次循环. 该语句单独存在时, 下面不可以定义语句, 执行不到.
6, 函 数: 为了提高代码的复用性, 可以将其定义成一个单独的功能, 该功能的体现就是 java 中的函数. 函数就是体现之一.
java 中的函数的定义格式:
修饰符 返回值类型 函数名 (参数类型 形式参数 1, 参数类型 形式参数 1,...){
执行语句;
return 返回值;
}
当函数没有具体的返回值时, 返回的返回值类型用 void 关键字表示.
如果函数的返回值类型是 void 时, return 语句可以省略不写的, 系统会帮你自动加上.
return 的作用: 结束函数. 结束功能.
小编推荐一个学 Java 的学习裙 [ 六五零, 五五四, 六零七 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!
如何定义一个函数?
函数其实就是一个功能, 定义函数就是实现功能, 通过两个明确来完成:
1), 明确该功能的运算完的结果, 其实是在明确这个函数的返回值类型.
2), 在实现该功能的过程中是否有未知内容参与了运算, 其实就是在明确这个函数的参数列表 (参数类型 & 参数个数).
来源: http://www.jianshu.com/p/5b08b703b579