java入门

来源:互联网 发布:散爆网络 编辑:程序博客网 时间:2024/06/01 23:41
1.计算机基础知识

(1)计算机的分类:

*计算机软件

☆系统软件
☆应用软件
*计算机硬件
(2)计算机语言的概念
任何计算机交流的方式
(3)人机交互
*图形界面
特点:方便、简单、直观。
*Dos窗口方式
特点:需要控制台,有很多命令需要记住,操作麻烦。
(4)常用快捷键和常用DOS命令
A:打开控制台的方式
a:windows+R 然后在弹出的菜单中输入cmd,然后按回车
b:点击开始,然后在菜单中选择运行,在运行的菜单中输入cmd,然后按回车。

c:点击开始,然后在菜单中选择所有程序,然后选择附件,然后点击命令提示符。

B:常用快捷键

ctrl+A(全选)
ctrl+C(复制)
ctrl+V(粘贴)
ctrl+X(剪切)
ctrl+Z(撤销)

ctrl+S(保存)

     C:常用DOS命令
x:回车(切换到x盘下)
cd demo回车(打开Demo)
cd..(返回上一级目录)
cd\返回根目录
cls清除屏幕
exit退出DOS
2:java语言概念
(1)Java语言的发展史

java是由java之父在1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。

(2)Java语言的平台

A:J2SE 基础版,桌面应用。

B:J2ME 微型版,手机开发。(android,ios)

C:J2EE 企业版,所有浏览器访问的应用程序。


    注意:JDK5以后改名JavaSE,JavaME,JavaEE

J2SE是学习其他两门的基础。

 (3)Java语言的特点

开源:源代码开放

跨平台:在任意操作系统下都可以使用。

    (4)跨平台

java语言的跨平台性就像我们和外国人交流需要翻译一样。而java语言的这个翻译是jvm。

3:开发工具

A:记事本windows自带的

B:高级记事本EditPlus

C:集成开发工具Eclipse/MyEclipse

4:环境变量

(1)path环境变量的作用

让javac和java命令可以在任意的目录下使用。

(2)path环境变量的配置

以jdk的目录为D:\develop\Java\jdk1.7.0_45\bin;为例

A:只修改path

D:\develop\Java\jdk1.7.0_45\bin;以前的path

B:先建立一个JAVA_HOME,后修改path

新建:JAVA_HOME 值是 D:\develop\Java\jdk1.7.0_45

修改:%JAVA_HOME%\bin;以前的path

推荐使用B方案。

(3)classpath环境变量的配置

让指定的class文件在任意目录都可以被访问。

技巧:在最左边配置一个.;

     这样做的好处就是能够先在当前目录下查找并执行。


5:关键字

(1)概念:被Java语言赋予特殊意义的单词。

(2)特点:

Java语言中的所有关键字全部是小写。

(3)注意事项:

goto和const作为保留字(在JDK的新版本中可能提升为关键字)存在。没有被使用。

6:标识符

(1)概念:就是给类,变量,方法起名字。

(2)组成规则:

由数字0-9,英文大小写字母,$以及_组成。

(3)注意事项:

A:只能有组成规则规定的内容组成。

B:不能以数字开头。

C:不能是Java中的关键字。

D:区分大小写。

      (4)常用的命名规则:见名知意,驼峰命名

A:包(文件夹,用于区分同名的类)

全部小写。如果多级包,用.分开。

举例:

com一级包

cn.itcast二级包

注意:www.itcast.cn(域名反写)

B:类和接口

如果是一个单词,首字母大写。

举例:Demo,Test,Student

如果是多个单词,每个单词的首字母大写。

举例:HelloWorld,StudyJava

C:变量和方法

如果是一个单词,首字母小写。

举例:main,name,age

如果是多个单词,从第二个单词开始每个单词的首字母大写。

举例:showName(),studentName

D:常量

全部大写,如果多个单词组成,用_连接。

举例:PI,STUDENT_MAX_AGE



7:注释

(1)就是对程序的解释性文字。

(2)注释的分类:

  A:单行注释

a:以//开头,以回车结束。

b:单行注释是可以嵌套的。

B:多行注释

a:以/*开头,以*/结束。

b:多行注释是不可以嵌套的。

C:文档注释

以/**开头,以*/结束说明程序的目的,和作者等信息将来被javadoc工具解析,生成一个说明书。

(3)注释的作用:

A:解释程序,提高程序的阅读性。

     B:可以调试错误

8:常量

(1)在程序的运行过程中,其值是不可以发生改变的量。

(2)常量的分类:

A:字面值常量

a:整数常量

10,-37

b:实数常量

23.8,-89.43

c:字符常量

'a','A','0'

d:字符串常量

"hello"

e:布尔常量

true,false

f:空常量

null

B:自定义常量

final int n=2



(3)常量可以直接被输出。

9:进制

(1)是一种进位的方式。X进制,表示逢x进1。

(2)Java中整数常量的表示

A:二进制 由0,1组成。以0b开头。JDK7以后的新特性。

B:八进制 由0-7组成。以0开头。

C:十进制 由0-9组成。默认就是十进制。

D:十六进制 由0-9,A-F(不区分大小写)组成,以0x开头。

(3)进制转换:

A:其他进制到十进制

系数:就是每一位上的数据。

基数:X进制,基数就是X。

权:在右边,从0开始编号,对应位上的编号即为该位的权。

结果:把系数*基数的权次幂相加即可。


二进制:1011

十进制:1*2(0)+1*2(1)+0*2(2)+1*2(3)=11

八进制:74

十进制:4*8(0)+7*8(1)=60

十六进制:a3

十进制:3*16(0)+10*16(1)=163



B:十进制到其他进制

除基取余,直到商为0,余数反转。

Example:

     十进制:60

结果:

二进制  111100

八进制  074

十六进制  ox3c



C:快速转换

a:8421码。

b:二进制--八进制(3位组合)

c:二进制--十六进制(4位组合)



10:变量

(1)程序的运行过程中,在指定范围内发生改变的量。

(2)格式:

数据类型 变量名 = 初始化值;


变形格式:

数据类型 变量名;

变量名 = 初始化值;

举例:

方式1:byte b = 10;



方式2:byte b;

b = 10;



11:数据类型

(1)分类

基本类型:4类8种。

引用类型:类,接口,数组。

(2)基本类型

整型:            占用字节

 byte                    1

    short                2

   int                      4

long                      8

浮点型:

float                     4

   double              8

字符型:

char                     2

布尔型:

boolean 不明确。可以认为是1个字节。


注意事项:

整数默认是int类型。long类型需要加L或者l后缀。

浮点数默认是double类型。float类型需要加F或者f后缀。

(3)类型转换

A:boolean类型不参与转换。

B:隐式转换(从小到大)

byte,short,char -可以自动转换成- int -可以自动转换成- long -可以自动转换成- float -可以自动转换成- double

C:强制转换(从大到小)

格式:

(数据类型)数据;

(4)面试题:下面的语句有没有问题,如果有,请解释。

byte b1 = 3;

byte b2 = 4;

byte b3 = b1 + b2;

byte b4 = 3 + 4;


有问题,在byte b3 = b1 + b2;报错。

解释:

b1 + b2在参与运算的时候,首先会自动转换成int类型。

在这个时候,b1和b2其实都被提升了类型。

所以,他们的计算结果也应该是int类型。

最终,就相当于直接把int类型赋值给byte类型,所以,会有精度的损失。

如果参与运算的是常量,编译器会先计算值,在看该值是否是左边能够表示的范围。

如果是,就不报错。



12:运算符

(1)就是把常量和变量连接的符号,一般参与运算使用。

(2)分类:

算术运算符

赋值运算符

关系运算符

逻辑运算符

位运算符

三元运算符

(3)算术运算符

+,-,*,/,%,++,--


+:正号,加法,字符串连接符。

Example:

System.out.println("5+5="+5+5);//5+5=55

System.out.println(5+5+"=5+5");//10=5+5


%:取得余数

技巧:

左边如果大于右边,结果是余数。

左边如果小于右边,结果是左边。

左边如果等于右边,结果是0。

正负号跟左边一致。



++/--:

++ 其实相当于把数据+1

单独使用:

在数据的前后,结果一致。


参与操作使用:

如果在数据的后边,数据先操作,在++/--

如果在数据的前边,数据先++/--,在操作。

(4)赋值运算符

=,+=,-=,*=,/=,%=



int a = 10;

把10赋值给int类型的变量a。

a += 20;

把左边和右边的和赋值给左边。


注意事项:

a = a + 20;

a += 20;

结果是等价的,理解不是等价的。



因为+=这种运算符,内含了强制类型转换功能。

Example:

short s = 2;

     s+=3;

等价于

s = (short)(s+3);

13:运算符

(1)关系运算符

==,!=,>,>=,<,<=



注意:关系运算符的结果都是boolean类型。

     请千万注意:== 不要写成 =

(2)逻辑运算符

&,|,!,^,&&,||


&:有false则false

|:有true则true

!:true变false,false变true

^:相同false,不同true



&&:有false则false

||:有true则true



&&和&的区别是:如果左边有false了,右边将不再执行。

||和|的区别是:如果左边有true了,右边将不再执行。



开发中常用:

&&,||,!

(3)位运算符

^ : 一个数据对同一个数据^两次,结果还是数据本身。

举例:a ^ b ^ b = a

(4)条件运算符

格式:

条件表达式?表达式1:表达式2



执行流程:

根据条件表达式返回的是true还是false,决定结果是什么。

如果是true,就把表达式1作为结果。

如果是false,就把表达式2作为结果。

举例:

int a = 100;

int b = a > 50 ? 200 : 100;

请问b的值?200



14:相关面试题

(1)请用最有效率的代码写出2乘以8

2<<3

(2)请交换两个变量。

int a = 10;

int b = 20;



方式1:临时变量

int temp = a;

a = b;

b = temp;


方式2:位^运算符

a = a ^ b;

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

a = a ^ b;

0 0
原创粉丝点击