Java基础入门

来源:互联网 发布:ucjiz软件免费下载 编辑:程序博客网 时间:2024/06/03 11:17

------- android培训、java培训、期待与您交流! ----------

Java的最大特点:跨平台性

1,Java概述:

Java的来历:java的初期开发早在1991年就已经开始了。当时,在sun公司内有一个称为Green的项目,在james Gosling的带领下,这个项目的工程师受命设计一种小型的计算机语言,用于机顶盒,家电控制芯片等消费设备。最初,这种新语言被命名为"Oak" (James Gosling 办公室窗外的橡树名),但后来由于"Oak"这名已被占用,所以改名为"java"。

2,Java技术平台简介:

JavaSE 的全称是 java Platform Standard    Edition (Java平台标准版),是Java技术的核心,提供基础的Java开发工具,执行环境与应用程序接口(API),主要用于桌面应用程序的开发。
JavaEE 的全称是 java Platform Enterprise  Edition(Java平台企业版),它主要用于网络程序和企业级应用的开发。
JavaME 的全称是 java Platform Micro Edition(Java平台微缩版),它主要用于嵌入设备及消费类电子产品。
Java的开发工具与运行环境:
JDK   的全称是  javaDevelopmentKit,    java的开发和运行环境,java的开发工具和jre。
JRE   的全称是  javaRuntimeEnvironment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。

3,Java的配置环境变量:

 让Java\jdk\bin目录下的工具,可以在任意目录下运行,原因将Java\jdk\bin所在目录告诉系统, 当使用该工具时,由系统帮我们去找指定的目录。

一 环境变量配置:
(一劳永逸方法)
1.永久配置方法: Path=%Jdk安装路径%\jdk\bin。
2.永久配置方法(技巧):JAVA_HOME=%安装路径%\jdk\bin Path=%JAVA_HOME%\bin
3.临时配置方法:在dos命令中配置临时变量 set:用于查看本机的所以环境变量的信息。
set 变量名:查看具体以个环境变量的值。
set 变量名=:清空一个环境的值。
set 变量名=具体值:给指定变量定义具体值。
首先,通过%变量名%操作符获取到原有罕见变量的值。
然后加上新值后在定义给该变量名即可。
举例:给path环境变量加入新值。
set path=新值;%path%
注意:这种配置方法只在,当前dos窗口有效,窗口关闭,配置消失。

4,path环境变量和classpath环境变量的作用:

path环境变量的作用:

当我们执行某个命令时,操作系统首先会在当前目录下查找这个命令,如果当前目录下没有这个命令程序,操作系统就会沿着path环境变量中所指定的目录,依次查找这个命令程序,以最先找到的为准。

classpath环境变量的作用:

当我们运行java程序时,需要找到相应的类文件,而且在运行Java程序时,需要很多类库的支持 classpath环境变  量的值就是指定这一系列的路径,java虚拟机会沿着 classpath环境变量中所指定的目录,依次查找这个类文件,以最先找到的为准,简单的理解就是规定虚拟机该到什么地方执行java程序。

注意:

在配置环境时需要注意":"与";"号的区别因为在环境变量中很难区别":"与";",在环境变量中";"表示这个字段的变量已经结束。

开发Java程序的步骤:
第一步:编写源程序-->编译器
第二步:编译-->虚拟机-->二进制
第三步:运行

5,javac命令和java命令做什么事情呢?

java是分两部分的:一个是编译,一个是运行。 javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。生成了jvm可
识别的字节码文件。也就是class文件,也就是java的运行程序。java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行,一个文件要被执行,必须要有一个执行的起始点,这个起始点就是main函数。

6,Java中的基本语法基础:

java中的关键字:其实就是java语言赋予了特殊含义的单词。
java中的保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。
java中的标示符:其实就是在程序中自定义的名词。比如类名,变量名,函数名。包含0-9、a-z、$、_。
java中的编码规范:规范要求类名必须使用public修饰,一行只写一条语句,用{}括起来的部分通常表示程序的某一层次结构。"{"一般放在这一结构开始行的最末,"}"与该结构的第个字母对齐,并单独占一行,低一层次的语句或注释应该比高一层次的语句或注释缩进若干格后书写,使程序更加清晰,增加程序的可读性。
1.基本数据类型:byte,int,short,float,long,double,char,boolean
2.引用数据类型:接口(interface)类(class)数组(String[]) String类

7,自动数据类型类型转换:

1.如果一个操作数为double类型,则整个表达式可提升为double型。
2.两种类型要兼容:数值类型(整型和浮点型)互相兼容,目标类型大于源类型:double型可以存放int型数据,因为为double型变量分配的空间宽度足够存储int型变量,因此,我们也把int型变量转换成double型变量形象地称为"放大转换"。

8,强制类型转换:

 例如:
int b=20;
double a=9.8;
//计算新的市场份额(double型变量强制转化成int型变量)
int c=b+(int)a;
由于强制类型转换往往是从宽度大的转换成宽度小的类型,使数值损失精度,因此可以形象的称为这种转型为"缩小转换"。

声明变量时需要注意:

变量必须以字母,下划线"_"或"$"符号开头,变量可以包括数字,但不能以数字开头,除了"_"或"$"符号以外,变量名不能包含任何特殊字符,不能使用java关键字,比如:int class public等。

9,运算符:

赋值运算符:
= += -= /= %=
算术运算符:
+ - * / % 任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。java中可以使用"+"连接符
比较运算符:
最终结果要么是true,要么是false。

逻辑运算符:

&& || & | ^ !

&&两个条件同时为真,结果为真。 两个条件有一个为假,结果为假。
|| 两个条件有一个为真,结果为真,两个条件同时为假,结果为假。

& 两个条件为真,结果为真。否则为假。
| 两个条件为假,结果为假。否则为真。

^异或 两个条件为真,结果为false,两个条件为假,结果为true。

&和&&的区别:不管左边结果如何,右边都要运算。

|和||的区别:|两边都参与运算,||表示左边的条件成立则右边不参与运算。

!表示非 条件为真时,结果为假,条件为假时,结果为真。

关系运算符:
>(大于) <(小于) >=(大于等于) <=(小于等于) ==(等于) !=(不等于)
位运算符:
<< 左移 >>右移 >>>无符号右移 &与运算 |或运算 ^异或运算 ~反码  表示二进制位的运算
左移<<的特点: 左移几位其实就是该数据乘以2的几次方。<<:可以完成2的次幂运算。

异或^特点:    一个数异或同一个数两次,结果还是这个数。

右移>>的特点:右移几位其实就是该数据除以2的几次幂。>>:对于高位出现的空位,原来高位是什么就用什么补这个空位。

>>>:无符号右移:数据进行右移时,高位出现的空位,无论原告位是什么,空位都用0补。

&:二进制位进行&运算,只有1&1时结果是1,否则是0.
|:二进制位进行|运算,只有0|0时结果是0,否则是1.其实使用位移都是在操作2的倍数。

10,练习:

使用最有效的方式算出2乘以8等于几?
System.out.println(2<<3);
对两个整数变量的值互换(不需要第三变量)?
int a=3,b=5;
a=a^b;
b=a^b;
a=a^b;
System.out.print("a="+a+"b="+b);
三元运算符:
格式:
(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
示例:
获取两个数中大数.
int x= 3,y;
y=(x>1)?100:200;//z变量存储的就是两个数的大数 
上述三元运算符的意思 首先判断x的值是否大于1问一下,如果大于1就y赋值100否则赋值200。

11,Java中的基本选择结构:

if选择结构:
if选择结构是根据条件判断之后再做处理的一种语法结构。
if(条件){
代码块  //条件成立后要执行的代码,可以是一条语句,也可以是一组语句。
}

程序执行时,先判断条件,当结果为true时,程序先执行大括号里面的代码块,再执行if结构块(即{}部分)后的代码。结果为falses时,不执行大括号丽的代码块,直接执行if结构后的代码。
多重if选择结构:
if(条件1){
代码块1
}else if(条件2){
代码块2
}else{
代码块3
}
if结构书写规范如下:
为了使if结构更加清晰,应该把每个if或else包含的代码块都用大括号括起来,相匹配的一对if和else应该左对齐,内层的if结构相对于外层的if结构要有一定的缩进。
 在使用switch(表达式)表达式中只能int,byte,char,short型,执行case块中的代码,一定要写break。
switch(表达式){
case 常量 1:
代码块1;
break;
case 常量 2:
代码块2;
break;

}
先计算switch后面小括号里面的整型变量的值,然后将计算结果顺序跟每个case后的常量比较,当遇到二者相等的时候,执行这个case块中的代码,遇到break时跳出switch选择结构,执行switch选择结   构之后的代码。
如果没有任何一个case后的常量跟小括号中的值相等,则执行switch末尾部分的default块中的代码。

12,Java中的循环结构

循环结构的特点:首先,循环不是无休止进行的,满足一定条件的时候循环才会继续,称为"循环条件"。循环条件不满足的时候,循环退出。其次,循环结构是反复进行相同的或类似的以系列操作,称为"循  环操作"。          
  while与do-while需要注意的地方

 while(循环条件){
   //代码块
 }     //注意这里不需要;

 do{
    //循环操作
 }while(循环条件);//注意这里必须需要;不要;编译会通不过的。

 for(表达式1;表达式2;表达式3){
   //循环操作
}

表达式1 初始部分;表达式2 条件判断(条件判断 如果条件=true循环体被执行,否则退出循环);表达式3改变循环变量值。

在循环中,可以使用break和continue语句控制程序的流程。

break 语句是终止某个循环,程序跳转到循环块外的下一条语句。

continue语句是跳出本次循环,进入下一次循环。

12,Java中的数组:

在Java中,数组就是一个变量,用于将相同数据类的数据存储在存储单元中。数组中的每一个元素都属于同一数据类型。
数组元素在数组里顺序排序编号,该编号即为元素角标,它标明了元素在数据中的位置。首元素的编号规定为0,因此数组的角标依次为0,1,2,3,4等。
使用数组的步骤:
1.声明数组
2.分配空间
3.赋值
注意:初始化静态数组int[] arr = new int[]{1,3,4,2,5}
new int[]时 中括号里面不能指定数组的长度,不然编译错误。

二维数组:

数组中的数组,把数组中的元素存储到数据中。
int[][] arr = new int[3][4];//定义了名称为arr的二维数组,二维数组中有3个一维数组 
//每一个一维数组中有四个元素。
栈内存与堆内存:
Java把内存划分成两种:一种是栈内存,另一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,
Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java 会自动释放掉为该变量分配的内存空间,该内存空间可以立即被另作它用。

堆内存用来存放由 new 创建的对象和数组,在堆中分配的内存,由 Java 虚拟机的自动垃圾回收器来管理。

13,java中分为5片内存:

1.寄存器
2.本地方法区
3.方法区
4.栈内存
5.堆内存

栈内存:栈内存存储的都是局部变量,而变量所需的作用域一旦结束,该变量就自动释放,局部代码块,限定了局部变量的生命周期。

堆内存:堆内存中的变量都是默认初始化,栈内存中没有,不同类型,初始化不同。存储都是数组合对象凡是new建立都在堆中。
特点:
1.每一个实体都有地址值。
2.堆内存中的每一个变量都有默认初始值,根据类型的不而不同。
3.垃圾回收机制。









原创粉丝点击