Java笔记(前一章多一点)
首先是JDK和Java历史
jdk帮助文档
csdn博客
新的课程体系:Bcsp
计算机程序:一系列有序指令的结合
JDK
Java时Oracl的了
时间:1995年5月
Java之父:詹姆斯·高斯林
bin:可执行文件
jre:Java的运行环境
include:头文件
lib:类库
src.zip:源代码
运行:Java
编译:Javac
查看jdk版本号:java -version
环境变量的步骤:
1.找到此电脑——》右击属性——》高级系统设置——》环境变量
jdk>jre>jvm
jdk:Java开发工具包
jre:Java运行环境
jvm:Java虚拟机
Java技术平台
1.javase 标准版
2.javaee 企业版
3.javame 嵌入式 Andirons
java的特点:面向对象,简单的,安全性,跨平台性(jvm),分布式……
正式接触Java
开发Java程序3步走
1.编写源程序
2.编译源程序
3.运行
类名要英文的,首字母要大写
System.out.print和System.out.println的区别
一个不换行,一个换行
\n也是换行,\t是空格
//内容 是单行注释
/内容/ 是多行注释
/*内容/ 是文档注释
java的编码规范
1.类名使用public修饰
2.一行只写一条语句
3.{}的使用即位置
4.代码的缩进
如何定义一个变量
1.数据类型——》变量名 = 值
int age = 20;
2.变量名 = 值
Java的常用数据类型
1.基本数据类型 变量名 = 20;
byte 1个字节
short 2个字节
int 4个字节
long 8个字节
float 4个字节
double 8个字节
char 2个字节
boolean true false 1表示true 0表示false
2.引用的数据类型
整型byte short int long
浮点型float double
字符型char
字符串String
布尔biilean
%和/分别执行什么操作
%:除法取余
/:求商
=和==的区别
=是把右边的值赋给左边的变量
==是判断两边的值是否相等
什么是变量
存储数据类型的表示
变量名规则
1.首字母小写,后面单词的首字母大写;(遵循的是驼峰命名法)
2.首字母可以是字母、_或
符
号
3.
其
余
部
分
可
以
是
数
字
、
字
母
或
符号 3.其余部分可以是数字、字母或
符号3.其余部分可以是数字、字母或符号
口诀:字下美人其后数
基本数据类型里面可以分为数值和非数值
其中数值又可以分为整型和非整型
数据类型
char 存储单个字符 ‘’;
int 存储整数
double 存储小数
String 存储多个字符“”;
Java中的运算符
赋值运算符 =
算数运算符 + - * / % ++(前置++,自身先+1再赋值;后置++,先赋值再+1) --(前置–,自身先-1再赋值;后置–,先赋值再-1)
关系运算符 < > >= <= !=
逻辑运算符&& || !
三目运算符 表达式 ?:
表达式就是符号与操作数的组合
integer 类名 = Integer.parseInt(类名)——————(int的包装类)
char也有
逻辑运算符
&&: 叫做短路与 当两个表达式都为true时它才为true ,一方为false它就是
false 当第一个表达式为false时,它就不参加后面的运算了
& 无论&左边的答案是什么,都会检查另外一边的答案
|| 只要一个为真就为真
! 非 反的
1.什么是if选择结构
就相当于造句、如果……就……
2.if 选择结构执行的顺序
if选择结构是根据条件判断后再做处理。、,条件为真则进入,条件为假则反之
3.计算机当中的三大逻辑结构
1.顺序(从上往下)2.分支3.循环
基本的if选择结构语法
if(条件){ ///boolean类型的条件,true/false
//代码块
}
if(条件){
//代码块
}else{
//代码块
}
多重if选择结构的语法
if(条件){
//代码块
}else if(条件){
//代码块
}else if(条件){
//代码块
}else{
//代码块
}
什么是流程图
解决指定问题的图形化表示方法。
长方形:计算步骤
菱形:判断条件
圆角矩形:开始或结束
平行四边形:输入输出
随机数的代码
类 变量名 = 【强转】(类)(Math.random()*范围【举例:10就是0~9】);
org :非盈利性的组织的域名
switch :选择结构主要用于解决等值判断的情况
switch的语法结构
switch(表达式){
case 1:
//输出语句
break;
case 2:
//输出语句
break;
case 3:
//输出语句
break;
default:
//输出语句
break;
}
1、switch语句中的case后面的break 不要忘写,编译不会报错,但是运行结果有可能不对。
2、switch后面的case常量值不允许重复,重复的话会编译出错。
3、switch语句中的default 一般放在末尾、可以省略、也可以放在switch语句中的任何地方
,有可能会影响到结果。
if和switch的异同
相同点:都是用来处理多分支条件的结构
不同点:switch只能处理等值情况的判断
选择结构
基本if选择结构: 处理单一或组合条件的情况
if-else选择结构:处理简单的条件分支情况
多重if选择结构:处理复杂区间的条件分支情况
嵌套if选择结构:用于较为复杂的流程控制
switch选择结构
多重分支并且条件判断是等值判断的情况
Scanner对象的hasNextInt()方法,可以判断用户从键盘输入的字符是否是合法的数字
判断输入的数字是否合法:Scanner对象的hasNextInt()
Scanner scan=new Scanner(System.in);
System.out.print(“请输入数字:”);
if(scan.hasNextInt()){
int num=scan.nextInt();
}else{
System.out.println(“输入错误”);
}
什么是循环:
重复做相同的事情
while循环的语法:
while(//条件表达式){
//循环操作
//迭代变量
}
while循环的特点:
先判断再执行!
while结构死循环写法1:
while(true){
//循环操作
}
写法2:
while(条件表达式){
//循环操作
//此处没有迭代变量,条件一直成立,所以才会出现死循环
}
为什么需要程序调试?
当我们的程序没有报错,但运行结果报错,此时就需要用到调试;
发现问题,解决问题!
调试的步骤:
1.设置断点
2.单步运行
3.观察变量的变换
打断点的几种方式
1.左键再数字前面点两下,取消也一样
2.鼠标右击数字并找到Toggle Breakoint即可
3.光标选择你要打断点的i行——ctrl+shift+b
F5 会进入变量内部 单步跳过
F6 不会进入,就直接下一步 单步跳过
输出语句:alt+/
导包:ctrl+shift+o
do-while的语法结构
do{
//循环操作
}while(条件表达式);
do-while循环的特点:
先执行再判断!
while与do-while的异同
相同点:都是循环
不同点:语法结构的特点不同;do-while的特点是先执行再判断(无论条件执行与否,都要无条件执行一遍);while是先判断再执行
知道循环次数的时候我们一般用while或for
不知道循环次数的时候我们一般用do-while
Ctrl +shift +f: Eclips排版格式
for语法结构:
for(初始化变量;条件判断;迭代变量更新){
//循环操作
}
顺序事:1 - 2 - 3 - 4 - 2 - 3 - 4……
初始化变量 —— 条件判断(是否为true,为true则循环,反之则退出循环) —— 循环操作 —— 迭代变量的更新(更新后会再进行一次条件判断,为true则继续循环,反之则退出循环)
for循环一般用于次数固定的情况下(与while差不多);
特点:先判断,再执行
for循环的死循环格式:
for(; ; ) {
}
初始化变量不写,编译报错
条件判断不写,会出现死循环
迭代变量不更新也会出现死循环
for循环里面一个条件表达式都不写,也会出现死循环
continue:只能用在循环里面
continue作用:跳过循环体中的剩余的语句而执行下一次循环
什么是数组:
数组就像一个容器,存储着一系列相同数据类型的数据
(一个数组名存储多个数据;)
数组的使用:
1.声明变量
2.开辟空间
3.赋值
4.使用
数组使用增强for循环的缺点是:无法修改数组元素,只能用做循环显示数组内容
int [] num = {1,2,2,3}//定义数组并赋值
for(int i:num){
System.out.println(i + " ");
}
超标了
input.next 与 input.nextLine 的区别
nextLine 一个是接受整行,可以包含空格,
next 一个不会接受空格,有空格会忽略不计
排序的代码,name是数组名
数组是可以在内存中连续存储多个元素的结构,数组中的所有元素必须属于相同的数据类型。
数组中的元素通过数组额下标进行访问,数组的下标从0开始。
数组可用一个循环为元素赋值,或者用一个循环输出数组中的元素信息。
通过数组,length可获得数组长度。
利用Arrays类提供的sort()方法可以方便地对数组中的元素进行排序 。
计算运行的时间,结束减去开··始
long start = System.currentTimeMillis();//开始
long end = System.currentTimeMillis();//结束
sout(end - start)
什么是双重循环?一个循环内能套另一个完整的循环结构
2.双重循环的特点:外层循环执行一次,内层循环执行一遍
1.while(){
while(){
}
}
2.do{
do{
}while();
}while();
3.for(;; ){
for(;; ){
}
}
注意特点:循环之间可以嵌套任意长度的循环结构
break:结束本层循环
continue:继续本层的下一次循环
return:两个作用
(1):返回方法指定类型值(这个值是确定的),也可以是对象
(2):方法的结束
总结
加油!