目录
概述
Java是在1975年由sun公司推出,在2009年被Oracle收购,在版本上的选择最稳定的就是Java8,其他的版本不建议使用的。
Java分类
1.JavaEE(Java企业版,是用于web开发的)
2.JavaSE(Java标准版,是Java的基础和核心)
3.JavaME(Java微型版)
Java的特点
它是一门跨平台的开发语言,简单、安全、开源、多线程、面向对象(封装、继承、多态)。
JDK,JVM和JRE之间的关系
1.JDK --- Java Development Kit (Java 开发工具包)
2.JRE --- Java Runtime Environment (Java 运行环境)
Java中的注释
1.//单行注释
2./* */ 多行注释
3./** */ 文档注释
Java命名规则
1.可以有字母数字,_和$字符组成
2.首字符不能以数字开头
3.严格区分大小写,驼峰命名法
4.不能使用Java关键字和保留字(如class static main true fase interface等)
Java的数据类型
基本类型
一.整形
1.byte 字节
2.short短整形
3.int整形
4.long长整形,赋值时在数字后加l或L
二.浮点型
1.float单精度浮点型,赋值时在后面加f或F
2.double双精度浮点型
三.字符型
char
boolean布尔型 (值为true或false)
引用类型
1.类
2.接口
3.数组
变量
概念:是保存在内存区域的数据,数据可以发生变化,可以使用。
变量定义及初始化
注意:1.变量必须自己定义并初始化,不然不能使用
2.变量等号右边的值的类型必须与定义的变量类型一致或者有关系
运算符
一.算术运算符
注意:
1.遵循运算符优先等级,执行有先后之分
2.数据参与运算时,结果类型就是参与运算数据最大的类型
二.关系运算符
注意:
1.运算符组成的表达式,我们称为关系表达式
2.比较运算符"=="不能误写成"="
3.关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false
三.逻辑运算符
注意:使用短路运算符效率更高&&(短路与)
四.三目运算符
条件表达式? 表达式1:表达式2
运算规则:1.如果结果为true,运算后的结果是表达式1
2.如果结果为true,运算后的结果是表达式2
五.赋值运算符
程序控制结构
顺序控制、分支控制、循环控制。
顺序控制
程序从上到下逐行按顺序执行。
分支控制
1.单分支(if...)代码如下
注意:括小号内的条件表达式为true则执行if代码块中的内容,反之则不执行。
2.双分支(if...else..)代码如下
注意:当条件表达式成立则执行输出s,否则输出shu。当大括号内只有一条语句时,可以省略大括号。
3.双分支(if..else if...else)代码如下
注意:1.在使用时要注意条件表达式的先后顺序
2.如果前面的条件表达式都为false,则默认执行else代码块
4.嵌套分支
注意:尽量少使用嵌套,影响代码执行效率
5.switch语句
注意:1.若多个case后执行的内容一致,可以省略break,将统一要做的代码放在最后的case后
2.如果有某个case后的内容和变量值匹配,执行case后的代码
循环控制
1.do...while
do...while语法规则:
语句0 ;
do{
语句1;//循环体
语句2;//
}while (循环条件);
语句3 ;
对比while循环
while循环先判断,再执行;
做。。。而先执行一次,再判断。
虽然循环比做...同时循环用得多。
代码如下
2.while
代码如下
3.for循环
![](https://i-blog.csdnimg.cn/blog_migrate/a6da8f123ca9906e635d62a9ae425520.png)
循环控制语句:
循环:break(停止当前循环体,继续执行后面的代码),return(终止程序,不再执行后续代码),continue(停止本次循环,且不再执行本次循环中后续代码,进行下一次循环)
数组
数组的定义:基本数据类型 数组名[] int arr[];//int[] arr
初始化:int arr=new int[6];
赋值:int[] arr=new int[]{10,15,8,40,25,5};
注意:1.数组初始化之后如果没有赋值,会有默认值
2.数组大小定义之后,赋值不能超出定义的大小,否则会报错
读取数组元素
排序
冒泡排序
数组扩容
使用api,Arrays.copyOf()对数组进行扩容,代码如下
错题集
1. 编译和运行以下代码的结果为:( A) B
public static void main(String args[]){
byte b=(byte)4096;//强转后值会变
if(b==4096)
System.out.println("Equal");
else
System.out.println("Not Equal");
}
A.在第3行出现转换丢失精度的编译错误
B.输出“Not Equal”
C.输出“Equal”
D.在第四行出现编译错误
2. 编译运行以下程序后,关于输出结果的说明正确的是:(B)C
public static void main(String args[ ]){
int x=4;
System.out.println(“value is “+ ((x>4) ? 99.9 :9));//因为double参与运算 ,结果类型就是double
}
A.输出结果为:value is 99.99 B.输出结果为:value is 9
C.输出结果为:value is 9.0 D.编译错误
3.
请看看列代码:(C) B
public void testIfA() {
if (testIfB("True")) {
System.out.println("True");
} else {
System.out.println("Not true");
}
}
public Boolean testIfB(String str) {
return Boolean.valueOf(str);//该方法底层是用equals进行比较的,不区分大小写
}
在JDK1.6版本中,调用执行testIfA方法,程序的结果是:
A.输出Not true B.输出True
C. if (testIfB("True")) { 行,编译错误
D. return Boolean.valueOf(str); 行,编译错误
个人阶段总结
学习是一件很美好的事情,在这一周的学习中,从编程软件开始,第一次输出HelloWorld时。我就感觉到了学习编程的快乐,之后慢慢的深入,从Java的变量开始,学习到了很多的Java基础知识,在学习的过程中也会遇到很多问题,在每天的学习中都会遇到很多问题,有很多知识刚接触时根本不会,在老师的讲解下去做练习,去使用学到的知识解决问题,和老师、同学都有交流,在这个过程中我的逻辑思维得到不断提升,对Java基础知识的了解日益提升,我觉得学习确实是一件很枯燥的事情,但是我们要从中找到学习的动力,并且去不断地坚持学习,增加自己的技术栈,学习刚刚开始,希望可以一直努力下去,达到自己预期的目标。我坚信“相信是成功的起点,坚持是成功的终点。”,加油吧,大家!!!!