java笔记总结

1.java源文件中是否可以包括多各类(不是内部类)有什么限制
可以有多个类,但只能有一个public的类,并且public的类名必须与文件名一致。


2.java中有没有goto
java中的保留字,现在没有在java中使用。


3.说说&和&&的区别
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为


true时,整个运算结果否则,只要有一方为false,则结果为false.


在java的逻辑运算符中,有四类&&(短路与),&,|,||(短路或)。


&&和&都是表示与,区别是&&只要第一个条件不满足,后面就不用再判断,而&要对所有的条


件进行判断。。


public static void main(String args){
//TODO Auto-generated method stub
if((23!=23)&&(100/100==0)){
System.out.print("运算没有问题");
}else{
<span style="white-space:pre"></span>System.out.println("没有报错");
}
}


输出的是“没有报错”。而将&&(短路与)改为&就会如下错误:
Exception in thread "main" java.lang.ArithmeticException:/by zero
原因是:&&(短路与)判断第一个条件为false,后面的100/100==0这个条件就没有进行判断,


&(要对所有的条件进行判断,所以会报错。


||和|表示或。区别是||只要满足第一个条件,后面的条件就不再判断,而|要对所有的条件


进行判断。
public static void main(String[] args){
//TODO Auto-generated method stub
if((23!=23)&&(100/100==0)){
System.out.print("运算没有问题");
}else{
<span style="white-space:pre"></span>System.out.println("没有报错");
}
}
此时输出“运算没有问题”。进行true,后面的条件就没有进行判断就执行了括号中的代码


,而|要对所有的条件进行判断,所以会报错。
==与equals的区别
String str1=new String("apple");
Sring str2=new String("apple");
现在有两个Boolean型表达式:①str1==str2;②str1.equals(str2)这个例子的正确结果①


为false
②为true ==比较的是两个对象的地址




JavaSe笔记总结
1.分为六点
Java历史、发展、现状
Java的特点
Java运行机制
JDK安装与配置
第一个java程序
Java两大机制
⑴历史1990sun公司启动green计划-1992创建橡树(Oak)语言-1994 James Gosling参加硅谷


大会,通过java 编写的浏览器WebRunner演示了java 的功能,并震惊世界-1995 sun发布


JDK第一个版本 JDK1.0 目前已经到了JDK8-2009年 Oracle收购了SUN公司。


发展: 安卓、物联网、云计算、大数据


⑵ Java的特点
Java的白皮书中说:“Java是一种简单的、面向对象的、分布式的、解释的、健壮的、安全


的、结构中立的、可移植的、高效的、多线程的、动态的语言。” 


⑶Java运行机制  先编译、后解释执行两步。(偏重于解释型语言)
JDK、JRE、JVM概念:JDK(Java Development Kit  Java标准开发包),JRE(Java 


Runtime Environment   Java运行时环境),
JVM(Java Virtual Machine    Java虚拟机)


JRE和JVM的联系与区别:
JRE包含JVM。JVM是运行java程序的核心虚拟机,他负责解释执行字节码文件,但是java程


序运行不仅仅需要jvm,还需要其他的资源,例如:类,类加载器,字节码校验器….. JRE处


理包含JVM外,还拥有Java程序运行所需的所有资源。
⑷ JDK安装与配置下载JDK后安装,然后我的电脑—》右键—》属性—》高级系统设置—》


高级—》环境变量—》下面 系统变量 选择path—》变量中后面追加  ; C:\Program 


Files\Java\jdk1.7.0_45\bin –》确定即可。配置完成后,打开DOS窗口 输入 javac 、


java命令测试 


⑸分为三步写java程序 第一步:编写源程序 第二步:javac命令编译 第三步:java解释执行 
⑹两大机制 JVM虚拟机 、GC垃圾收集机制


第二章数据类型与运算符
1.Java的注释
2.Java的常用分隔符
3.标示符的定义原则与Java中的关键字
4.8种基本数据类型
5.变量的声明、初始化、作用域、常量
6.数据类型的转换
7.运算符的使用


⑴单行注释: //注释内容




多行注释: /*
注释内容
…….
注释内容
*/




文档注释: /**
*注释内容
*…….
*注释内容
*/




⑵Java语言中常用分隔符有 ; {} [] () , . 空格





分号 花括号 方括号 圆括号逗号 ,小圆点 空格 

⑶Java标示符的定义原则和关键字
标示符:所谓标示符就是给程序中类、方法、变量命令的有效字符序列。标示符可以简单理


解为一个名字。


public class Demo{
public static void main(String[] args){
int a = 10;
System.out.println(a);
}

上面代码中 Demo类名、main方法名、a变量名都是标示符


标示符命名规则:标识符必须以字母 下划线 美元符号开头,后面可以跟上任意数目的字母


、数字、下划线(_)、美元符号($)。此处的字母不仅仅是26个英文字母,还可以是中文字符


、日文字符…….   标示符=1个字母/下划线/美元符号+n个字母/数字/下划线/美元符号
注意:标示符不能包括空格,不能使用java的关键字和保留字和直接量,标示符的长度不受


限制。


⑷ Java数据类型
Java中数据类型包括 基本数据类型(8种) 和 引用数据类型(复杂数据类型)两大类 数组、


类、接口
   
整数类型 1字节byte 2字节short 4字节int 8字节long 字符类型 2字节 char 浮点类型4


字节float 8字节double 布尔类型boolean


⑸变量的声明,初始化,作用域,常量


⑹数据类型转换
Java中八中基本数据类型除了boolean类型外,都可以进行相互转换,有两种转换方式:自动


类型转换和强制类型转换
表达式中数据类型的自动提升
当使用二元运算符对两个值进行运算时,两个操作数会转换成通用类型。
如果两个操作数中有一个是double类型,则另一个将会转换成double型;
如果两个操作数中有一个是float类型,则另一个将会转换成float型;
如果两个操作数中有一个是long类型,则另一个将会转换成long型;
否则,两个操作数都转换成int型。
⑺运算符 +,-,*,/,%(取模 取余)
自增自减运算符++(自增)、--(自减)
public class Test1{
public static void main(String[] args){
int a = 10;
int b = 10;
int c = a++;//先把a的值给到c,在让a增1   int c=a;a=a+1;
int d = ++b;//先让b增1,在将b的值给到d   b=b+1;int d=b;
System.out.println("c="+c+",d="+d);//c=10,d=11
}
}
分析: 在运算时写a++或++a有区别,++在前表示先让a增1,在做运算
  ++在后表示先做运算


,在让a增1


关系运算符
>、>=、<、<=、==、!= 
==是判断相等,得到布尔值 true或false
=是赋值
逻辑运算符
&&(与)、||(或)、!(非)


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


位运算将两个数转化成二进制再进行运算,
&按位求与,两位都为1才为1
| 按位求或,两位有一个为1就为1
^ 异或,两位不同才为1,两位相同就为0
赋值运算符
=
注意:==是判断相等,得到布尔值 true或false
=是赋值


第三章 流程控制与数组
1.了解程序的三种结构 顺序结构、分支(选择)结构、循环结构。Java也不例外。
2.掌握顺序结构程序设计 前面案例中代码块中没有用if、switch、for、while等的,都是


顺序结构


3.掌握分支(选择)结构程序设计 单分支
语法:
if(表达式){
代码块;
}


说明:
如果表达式的值为true,则执行代码块,否则不执行。




二路分支语法:
if(表达式){
代码块1;
}else{
代码块2;
}


说明:
如果表达式的值为true,则执行代码块1,
如果表达式的值为false,则执行代码块2.


多路分支
if(表达式1){
代码块1;
}else if(表达式2){
代码块2;
}else if(表达式3){
代码块3;
}
…….
…….//中间可以有n个 else if
……..
else{//最后这个else可有可无
代码块n;
}
★switch分支
switch是多分支语句


语法:
switch(表达式){
case 值1:代码块1;
break;  //break不是必须的,根据情况而定
case 值2:代码块2;
break;
……
…...
……
default:代码块n;  //default可有可无
}
4.掌握循环结构程序设计
★while循环
语法:
while(循环条件){
代码块/循环体;
}
说明:
首先判断循环条件是否为true,如果为true则进入循环体执行,执行完成后自动回到前面再


次判断循环条件,如果为true则进入循环体执行,执行完成后又回到前面再次判断,依次循


环,直到循环条件为false则循环结束。
★do…while循环
语法:
do{
代码块/循环体;
}while(循环条件);
说明:首先进入循环体执行,执行完成后判断条件是否成立,如果成立回到前面再执行循环


体,执行完成又判断循环条件是否成立,如果成立又回到 前面执行循环体,依次循环,直


到循环条件不成立,则循环截止。


★for循环
语法:
for(表达式1;表达式2;表达式3){
循环体;
}
while 和 do…while的区别 while是先判断,再执行  do…while先执行,后判断do…


while至少执行一次。


5.分支、循环嵌套




6.循环控制 break、continue
循环的控制 break、continue
break语句除了可以用在switch语句中,还可以用在循环体中。在循环体中遇见break语句,


立即结束循环,跳到循环外,执行循环结构后面的语句 。break语句用于结束整个循环。
continue语句用于结束本次循环,即在循环体中遇见continue语句,则循环体中continue


语句后面的语句不会执行,接着进行下一次循环的判定。


7.数组、一维数组 二维数组、多维数组


数组是所有编程语言只用一种常用的数据结构,它用来存储多个相同类型的数据。
★数组的初始化数组的定义
类型[] 数组名;//常用 int[] a; double[] b;char[] c
类型 数组名[];// int a[]


★数组内存分析
栈:基本数据类型变量值,引用类型变量的地址值
堆:引用类型的真实值


二维数组: 
二维数组就是存放一维数组的数组,一个二维数组可以看做多个一维数组。


int a = 10;
int[] b = {10,20,30};//b看做多个a的集合 可以把 b[0]和a等价
int[][] c = {{10,20,30},{5,6,7}};//c可以看做b的集合 可以把c[0]


和b等价 c[0][0]和a等价
//   c[0]     c[1]   一维数组
//      c[0][0]         值


★数组的定义
类型[][] 数组名;//常用 int[][] a;
类型 数组名[][];// int a[][]


★数组的初始化
静态初始化
初始化时由程序员显示的指定每个数组元素的初始值,由系统决定数组的长度。
eg:
int[][] a;
a = new int[][]{{1,2,3},{4,5,6}};


◆动态初始化
初始化时程序员只指定数组的长度,而不指定数组中元素的值,系统自动给数组分配初始值



eg:
int[][] a;
a = new int[2][3]; //2代表a中有两个一维数组  3代表一维数组中有3个值


Java中没有多维数组,所有的数组都可以看做一维数组。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值