学习总结(java基础)

计算机的基础知识
计算机
俗称:电脑
计算机硬件
支撑电脑软件执行的装备
计算机软件
按照某种要求能够自动执行的东西。


系统软件:
windows,linux,mac,android
应用软件:

QQ,Editpls,微信,等各类软件

软件开发
用开发工具+计算机语言制作软件
计算机语言
人和计算机交流的一种特殊表现形式。
计算机只能识别0,1这样的数据。
人机交互
图形界面方式:方便直观。
DOS窗口方法:需要记忆命令,稍微复杂。
功能键和快捷键(掌握)
tab,shift,alt,ctrl,windows,空格,prtsc,上下左右键,回车键
DOS命令(已熟练掌握)
A:盘符的切换:
d:回车
B:cd进入目录
单级
多级
C:回退目录
单级
多级

Java语言的知识

Java语言的发展史。
詹姆斯-高斯林 Java之父 (只做了解
java版本:
1.4.2
1.5 -- 5.0(经典版本
1.6 -- 6.0

1.7 -- 7.0

1.8 -- 8.0

Java的平台
A:JavaSE 桌面应用程序,其他两种的基础。
B:JavaME 移动设备的开发,目前我们要学习的话就学习android。
C:JavaEE web页面的开发,企业级开发,这是我们的重点。
java语言的特点
A:几个小特点,将来都会学到。
B:两个比较重要的特点:
开源
跨平台
java语言如何实现跨平台的呢 (重要知识点)
通过一个语言翻译的原理讲解的。


java语言的翻译是jvm。java虚拟机。


Java语言是跨平台的,jvm不是跨平台的。


Java语言的开发和执行流程
JDK,JRE各自的作用
JDK: JRE+开发工具 是java程序的开发环境
JRE: JVM+class library 是java程序的运行环境
JVM: 保证Java语言跨平台
JDK的下载,安装,卸载。

注意:
安装过程中,建议不要有空格和中文目录,以及其他的特殊字符目录(必须了解大笑
HelloWorld案例:
在JDK的安装的bin目录下。


class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
第一个自己操作的编程,跟C语言的一样都是HelloWorld

解释:
java程序的最基本单位是类。


A:class HelloWorld
class是定义类的关键字。后面跟的是类的名称。
B:public static void main(String[] args)
主方法,被jvm调用。是java程序的入口。java程序的执行必须从这里开始。
C:System.out.println("HelloWorld");
输出语句,"HelloWorld"的内容是可以改变的。
最后的分号不能少,是该语句的一个组成部分。


注意事项:
A:括号的问题。配对要一致。
B:格式的问题。该空格的,一定要空格。遇到{一般都会缩进一个tab的位置。


Java程序的开发和执行流程

A:编写一个java源文件。


B:通过javac命令编译该文件,生成class文件。字节码文件。

javac java源文件名称

C:通过java命令执行class文件。
java class文件名不包括扩展名


举例:
javac HelloWorld.java
java HelloWorld


常见问题:
A:文件后缀名被隐藏。
B:大小写,及单词的拼写。
C:非法字符的问题,肯定是中英文的问题。


环境变量(重要操作,说实话很容易忘)
path环境变量
path路径中配置某目录,那么,将来该目录下的exe文件的名称,就可以直接在dos窗口执行。
A:方式一
直接把D:\develop\Java\jdk1.7.0_60\bin添加到path的最前面。
B:方式二
新建JAVA_HOME,值是:D:\develop\Java\jdk1.7.0_60
修改path,值是:%JAVA_HOME%\bin;以前的path内容。
作用:是为了javac命令可以在任意目录下执行。


classpath环境变量
配置:
新建classpath,值就是class文件所在的目录。

作用:是为了class文件可以在任意目录下执行。

注释(个人觉得是个非常重要的技能)
A:就是对代码的解释说明性的文字。
B:分类:
单行注释 //
多行注释 /* */
文档注释(面向对象部分讲解)
C作用:
对程序进行说明,给人看。

可以对程序进行排错。


关键字(用EditPlues编写时,如果是关键字就会变颜色)
被java语言赋予特定含义的单词。
特点:
所有的关键字全部小写。


标识符
就是给类,接口,方法,变量等起名字。
组成规则:
A:由数字,字母,_以及$组成。
B:不能以数字开头。
C:不能是java中的关键字。
常见的命名规则:
A:包 全部小写
单级:com,cn,liuyi
多级:cn.itcast,com.baidu
B:类或者接口
一个单词:Student,Teacher
多个单词:HelloWorld,MakeName
C:方法或者变量
一个单词:main(),name,age
多个单词:studentName,showName()
D:常量 全部大写
一个单词:MAX
多个单词:STUDENT_MAX_AGE
常量
在程序的执行过程中,其值是不发生改变的量。

分类:
A:字面值常量
B:自定义常量(面向对象部分讲解)
字面值常量的分类:
A:整数常量 12,23
B:浮点数常量 12.345
C:字符常量 'a','A','2'
D:布尔常量 true,false(真或假)
E:字符串常量 "hello","world"
F:空常量 null

进制转换相关
A:进制:是一种计数的方式。
x进制表示逢x进1。
B:java中的整数的表现形式:
二进制:以0b开头,由0和1组成。
八进制:以0开头,由0-7组成。
十进制:由0-9组成。整数默认是十进制。
十六进制:以0x开头,由0-9,a-f组成。
C:其他进制到十进制的转换:
系数*基数的权次幂的和。
D:十进制到其他进制的转换:
除基取余,直到商为0,余数反转。
E:x进制到y进制
x - 十进制 -- y进制
F:二进制 -- 八进制或者十六进制
A:二进制 -- 十进制 -- 八进制或者十六进制
B:二进制 -- 三位组合 -- 八进制
 二进制 -- 四位组合 -- 十六进制
G:8421法

1 1 1 1 1 1 1 1
128 64 3216 8 4 2 1


有符号数据表示法(重要)
A:在java中,我们的数据是有正负之分的。
B:在计算机存储和运算的过程中,数据都是采用补码进行的。
C:原码,反码,补码
正数:原码,反码,补码和二进制形式相同。
负数:原码和正数的二进制的数值部分相同,符号位是1。
     反码和原码的区别是:符号位不变,数值为1变0,0变1。
     补码:反码+1
D:byte的范围:
byte占用1个字节:
0 1111111 - 127
(byte)128 -- -128。


1 0000000 -- 这里的1既可以看成符合位,又可以看成数值位。
-128


除了:1 0000000 这种特殊情况外,其他的是什么样子就是什么样子的。


变量(重要)
A:在程序执行的过程中,其值在某个范围内可以发生改变的量。
B:格式:
数据类型 变量名 = 初始化值;
int a = 10;
数据类型 变量名;
 变量名 = 初始化值;
int a;
a = 10;
C:注意:
在使用一个变量的时候,必须先声明,赋值,最后才能使用。


数据类型 (重要)
A:分类:
基本类型:4类8种。
引用类型:类,接口,数组。(后面讲)
B:基本类型:
整数 占用的字节
byte         1
short 2
int 4
long 8
浮点数:
float 4
double         8
字符:
char 2
布尔:
boolean 1
注意:
整数默认是int类型,浮点数默认是double类型。
如果一个数据想表示为long类型,要加L或者l。
如果一个数据想表示为float类型,要加F或者f。


数据类型转换(重要)
A:在运算的时候,要求数据的类型一致。
B:分类:
boolean类型不参与。


隐式转换:(自动转换)
从小到大。
byte,short,char >> int >> long >> float >> double


显示转换:(强制转换)
从大到小。


格式:
目标数据类型 变量 = (目标数据类型)(被转换的内容);


C:long --> float为什么是这个样子的?
因为他们底层的存储方式不一样。


long : 2^63
float : 3.4*10^38


3.4*10^38 > 2*10^38 > 2*8^38 > 2*2^3^38 = 2*2^114 > 2^63


运算符(重要)

算术运算符
+,-,*,/,%,++,--


+:正号,加法,字符串连接符
%:取得余数
++,--:
单独使用:在操作数据的前后效果一致。
参与操作使用:
在操作数据的前面,是先++或者--,然后参与操作。
在操作数据的后面,是先参与操作,后++或者--。

赋值运算符
=:把右边的内容赋值给左边
+=,-=,*=,/=,%=:把左边的和右边的操作后赋值给左边。
a+=1;相当于a=a+1

注意:
+=隐含了强制类型转换。
x+=y;等价于:x = (x的数据类型)(x + y);


比较运算符
==,!=,>,>=,<,<=
A:结果肯定是boolean类型。
B:不要把==写出=。
逻辑运算符
&:有false则false
|:有true则true
^:相同为false,不同为true。通过情侣关系来理解。
!:非false则true,非true则false。偶数次不改变以前的真假。
&&:和&的结果一样,但是具有短路效果。左边有false,右边不执行。
||:和|的结果一样,但是具有短路效果。左边有true,右边不执行。


位运算符
要想操作,就必须把所有的数据转换为二进制。然后操作。


注意:
对同一个数据异或两次,该数本身不变。
(a^b^b)

数据交换:假设a,b是已经知道的int类型的变量
A:方式1
int temp = a;
a = b;
b = temp;
B:方式2
左边a,b,a
右边a^b


a = a ^ b;
b = a ^ b;
a = a ^ b;


C:知道就行
a = a + b;
b = a - b;
a = a - b;
D:知道就行
a = (a+b)-(b=a);
三元运算符
格式:
比较表达式?值1:值2;
如果比较表达式是true,结果是值1;
如果比较表达式是false,结果是值2;


案例:
A:比较两个数是否相同
B:获取两个数中的最大值
C:获取三个数据中的最大值
D:做C题目的时候,还可以练习三元运算符的嵌套。


键盘录入(重点)

键盘录入数据,让程序灵活性更高。
步骤:
A:导包
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:调用方法
int i = sc.nextInt();



顺序结构(重点)

程序的流程控制语句:
A:顺序结构
从上往下依次执行
B:选择结构
if,switch
C:循环结构
for,while,do...while


选择结构之if语句

格式
方式1:
if(比较表达式)
{
语句体;
}


执行流程:
看比较表达式的返回值:
true:执行语句体;
false:不执行,可以继续向下执行。


方式2:
if(比较表达式)
{
语句体1;
}
else
{
语句体2;
}


执行流程:
看比较表达式的返回值:
true:执行语句体1;
false:执行语句体2;



方式3:
if(比较表达式1)
{
语句体1;
}
else if(比较表达式2)
{
语句体2;
}
else if(比较表达式3)
{
语句体3;
}
...
else if(比较表达式n)
{
语句体n;
}


执行流程:
看比较表达式1的返回值:
true:执行语句体1;
false:看比较表达式2的返回值:
true:执行语句体2;
false:...


但是可能所有的语句体都没有被执行。

方式4:
if(比较表达式1)
{
语句体1;
}
else if(比较表达式2)
{
语句体2;
}
else if(比较表达式3)
{
语句体3;
...
else if(比较表达式n)
{
语句体n;
}
else
{
语句体n+1;
}


执行流程:
看比较表达式1的返回值:
true:执行语句体1;
false:看比较表达式2的返回值:
true:执行语句体2;
false:...
所有的都不匹配,执行else里面的语句体n+1。

肯定有一个被执行。



if语句的格式注意事项:
A:比较表达式无论是简单还是复杂,结果肯定是boolean类型。
B:语句体如果是一条,可以省略大括号;如果是多条,就不能省略。
 建议:无论一条还是多条,都不省略大括号。
C:不要随便加分号。
一般:有分号,就没有左大括号,有左大括号就没有分号。
D:每种if语句其实都是一个整体,有一条语句执行,其他的将不再执行。
案例:
A:判断两个数据是否相等。
B:获取两个数据中的最大值。
C:判断三个数据中的最大值。(if语句的嵌套)
D:根据给定的月份,输出对应的季节。
E:根据给出的分数,输出对应的等级。
F:根据给定的x的值,确定y的值。


选择结构之switch语句(掌握)
格式:
switch(表达式)
{
case 值1:
语句1;
break;
case 值2:
语句2;
break;
case 值3:
语句3;
break;
...
default:
语句n;
break;
}


解释:
A:表达式的取值:
byte,short,int,char
JDK5以后可以是枚举。
JDK7以后可以是字符串。
B:case后面值就是表达式要匹配的内容。
  case后面的值是不能重复的。
C:如果所有的case都没有和表达式匹配的,就执行default所控制的内容。
D:break是结束的意思。
执行流程:
A:计算表达式的值。
B:用这个值和case的值依次匹配。
C:要么匹配成功:就执行对应的匹配所控制的语句
  要么匹配失败:就执行default的所控制的语句



switch语句的问题:
A:case和default的顺序关系?
a:位置上没有关系。但是建议按照基本格式写。
b:执行上有关系,现执行case匹配,如果没有,才能执行default。
B:break可以省略吗?
可以。但是有可能是你不想要的结果,建议不省略。
C:最后一个语句的break是可以省略的。
D:switch语句的结束条件:
a:遇到break。
b:执行到末尾。



选择结构的语句使用的时候,如果选择呢?
如果是有限个数的值,用switch。
其他全部用if语句。
如果是一种判断:第一种
如果是二种判断:第二种
如果是多种判断:第三种或者第四中。优先考虑第四种。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值