(1)Java 语言特点:
两个最重要的特点:
开源:源代码公开
跨平台: 平台是指操作系统,跨操作系统进行.
(2)JRE与JDK:
JRE:(运行环境):里面包含了JVM和Java的核心类库;
JDK:(开工具包):包含了JRE和Java的开发工具
常见的问题
(1)扩展名被隐藏
如何找到:工具--文件夹选项--查看--去除隐藏扩展名的那个勾勾
(2)我要求文件名称和类名一致。
实际上不这样做也是可以的。
但是,注意:
javac后面跟的是文件名+扩展名
java后面跟的类名不带扩展名
(3)Java语言严格区分大小写,请注意。
还有就是单词不要写错了。
(4)见到非法字符: \65307肯定是中文问题。
我们写程序要求标点符号必须全部是英文状态。
(5)括号的配对问题。
一般来说,括号都是成对出现的。
(6)遇到
在类 HelloWorld 中找不到主方法, 请将主方法定义为
肯定是主方法的格式问题。
总结:使用JDK开发完成的Java程序,交给JRE去运行.最后由JVM保证跨平台
(3)选择语句:有两个种 if ,switch
三种if语句分别适合做什么事情呢?
格式一:if(){}:适合做单个判断.
格式二:if(){}else{}:适合做两个选择
格式三:if(){}else if(){}适合做多个选择
注意:
1:比较表达式无论简单还是复杂,结果是boolean类型
2:if语句控制的语句体如果是一条语句,是可以省略大括号的;如果是多条,不能省略。
建议:永远不要省略。
3:一般来说,有左大括号,就没有分号,有分号,就没有左大括号。
4:else后面如果没有if,是不会出现比较表达式的。
5:三种if语句其实都是一个语句,只要有一个执行,其他的就不再执行。
三元运算符和if语句第二种格式的关系
所有的三元运算符能够实现的,if语句的第二种格式都能实现。
反之不成立。
switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?
可以,不可以,JDK7以后可以
switch后必须byte,short,char,int,String,case后必须常量。
注意:
1:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
2:default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
特殊情况:
case就可以把值固定。
A,B,C,D
3:break可以省略吗?
可以省略,但是结果可能不是我们想要的。
会出现一个现象:case穿透。
最终我们建议不要省略
4:default一定要在最后吗?
不是,可以在任意位置。但是建议在最后。
5:switch语句的结束条件
a:遇到break就结束了
b:执行到末尾就结束了
if语句和switch语句各自的场景
1:if
针对boolean类型的判断
针对一个范围的判断
针对几个常量的判断
2:switch
针对几个常量的判断
(4)循环语句
有三种:for,while,do...while
注意事项
1:判断条件语句无论简单还是复杂,结果是boolean类型
2:循环体语句如果是一条,可以省略大括号,但是不建议
3:有分号就没有左大括号,有左大括号就没有分号
for和while的区别
1:使用上的区别
for语句的那个控制条件变量,在循环结束后不能在使用了。
而while的可以继续使用。
2:理解上的区别
for适合于一个范围的判断
while适合次数不明确的
循环使用的注意事项(死循环)
A:一定要注意修改控制条件,否则容易出现死循环。
B:最简单的死循环格式
a:while(true){...}
b:for(;;){}
1.break:中断的意思
2.continue:继续的意思
(5)方法
方法:就是完成特定功能的代码块。
注意:在很多语言里面有函数的定义,而在Java中,函数被称为方法。
方法的注意事项
A:方法不调用不执行
B:方法之间是平级关系,不能嵌套定义
C:方法定义的时候,参数是用,隔开的
D:方法在调用的时候,不用在传递数据类型
E:如果方法有明确的返回值类型,就必须有return语句返回
方法内部的代码块内定义的变量不可与该方法内定义的变量名相同。而成员级别代码块内定义的变量可以与成员变量名相同,按就近原则。
方法重载必须参数列表不同(参数类型和个数),不关注返回值类型。
(6)数组:存储同一种数据类型的多个元素的容器。
特点:每一个元素都有编号,从0开始,最大编号是长度-1。
编号的专业叫法:索引
简化版:int[] arr = {1,2,3};
注意:数组不能同时动态和静态初始化。
Java的内存分配
1:栈 存储局部变量
2:堆 存储所有new出来的
3:方法区(面向对象部分详细讲解)
4:本地方法区(系统相关)
5:寄存器(CPU使用)
注意:
1:局部变量 在方法定义中或者方法声明上定义的变量。
2:栈内存和堆内存的区别
栈:数据使用完毕,就消失。
堆:每一个new出来的东西都有地址
每一个变量都有默认值
byte,short,int,long 0
float,double 0.0
char '\u0000'
boolean false
引用类型 null
数据使用完毕后,在垃圾回收器空闲的时候回收
思考题(
Java中的参数传递问题
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
(7)面向对象:
1.面向对象是基于面向过程的编程思想
2.面向对象的思想特点
1:是一种更符合我们思考习惯的思想
2:把复杂的事情简单化
3:让我们从执行者变成了指挥者
类的定义
成员变量 定义格式和以前一样,就是位置不同,在类中,方法外。
成员方法 定义格式和以前一样,就是去掉了static。
1:使用类的内容
1:创建对象? 格式
类名 对象名 = new 类名(); |
|