java学习之《基础篇一》

来源:互联网 发布:学霸精软件下载 编辑:程序博客网 时间:2024/06/04 18:49

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

Java基础常识

软件开发:一系列按照特定顺序组织的计算机数据和指令的集合。

常见的软解:系统软件如DOS,Windows,Linux等。应用软件如扫雷,迅雷,QQ等。

什么是开发?:

就如所说的制作软件。

软件的出现实现了人与计算机之间更好的交互

交互方式:图形化界面,这种方式简单直观,容易上手操作。

命令行方式:需要一个控制台,输入特定的指令,让计算机完成一些操作,较为麻烦,需要记住一些命令。

 

dos命令行,比较常见的命令:

dir:列出目录下的文件以及文件夹

md:创建目录

rd:删除目录

cd:进入指定目录

cd..:退回上一级

cd/:退回根目录

 

java语言的三种技术架构

J2EE(Java 2 Platform Enterprise Edition)企业版

J2SE(Java 2 Platform Standard Edition )标准版

J2ME(Java 2 Platform Mico Edition )小型版

注:Java5.0版本后,更名为JAVAEE JAVASEJAVAME

Java的跨平台性:

Java可以在不同的系统平台上都可以运行。

原理:只要在需要运行java应用程序的操作系统上,先安装一个java须立即(JVM Java Virtual Machine)即可由JVM来负责java程序在该系统中的运行。

 

java环境搭建所需软件:

JRE:java运行环境

JDK:java开发工具包

JVM:虚拟机

 

(环境变量配置)

1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量

值:C:\Program Files\Java\jdk1.7.0变量名:CLASSPATH 变量

值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;3.选择“系统变量”中变量名为“Path”的环境变量,双

击该变量,把JDK安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用分号和已有的路径进行分

隔。变量名:Path 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

 

注释:

// : 单选注释

/*  */: 多行注释

/**: java专用注释,文档注释*/

 

Java语言基础组成

关键字  标识符

注释    常量与变量

运算符  语句

函数    数组

 

Java判断语句”if”

if语句格式: if(条件表达式)

{执行代码}

if-else-if语句格式:if(条件表达式一)

                     (执行代码一);

                    else if(条件表达式二)

                     (执行代码二);

                    else

                     (执行代码三);

特点:一般情况下,if-else-if结构中根据条件判断,只会有一个大括号中的代码被执行。因此非常适合适合用来实现分类讨论。


java判断语句”switch”(只接受byte short intchar)

switch语句格式:switch(表达式)

      {

       case取值1:

           执行语句;

           break;

       case取值2:

           执行语句;

           break;

       default:       ----->(如何所有条件都不成立就执行此语句的类容)

           执行语句;

           break;

}

执行顺序 与各选项排列顺序无关,default最后执行。

把default放第一位置,且选项中无对应值,又没break,会什么都执行,直到break,或到}


if与switch很像,该怎么选择:

如果判断具体数值不多,而符合其接受类型,用switch效率稍高

其他情况:对区间判断,对结果为boolean的类型判断,使用if

 

java循环语句while

while语句格式:while(条件表达式)

               {

                 循环体(执行语句);

               }

While特点:先判断条件,只有条件满足才执行循环体。


do while语句格式:do

                  {

                     执行语句;

                  }while(条件表达式);

do while特点:先执行循环体,再判断条件,条件满足,再继续执行循环体。

(do while 无论条件是否满足,循环体至少执行一次。)

 

java 循环语句for

for语句格式: for(初始化表达式; 循环条件表达式; 循环后的操作表达式)

              {

                  执行语句;

      }

小细节:无限循环的最简单表现形式。

        For的无限循环//for(;;){}

        while的无限循环//while(true){}

 

其它流程控制语句。

break(跳出), continue(继续)

break语句:应用范围:选择结构和循环结构。

continue语句:应用于循环结构。

注:

1,这两个语句离开应用范围,存在是没有意义的。

2,这个两个语句单独存在下面都不可以有语句,因为执行不到。

3,continue语句是结束本次循环继续下次循环。

4,标号的出现,可以让这两个语句作用于指定的范围。

 


函数的概述:

什么是函数?

函数就是定义在类中的具有特定功能的一段独立小程序。

函数也称为(方法)。

函数的格式:

修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,)

{

执行语句;

return 返回值;(谁调用它就返回给谁)

}

返回值类型:函数运行后的结果的数据类型。

参数类型:参数的数据类型

形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。

实际参数:传递给形式参数的具体数值。

return:用于结束函数。

返回值:这个功能结束后的结果返回给调用者


//需求:定义一个功能,完成一个整数的*3+5的运算,并打印结果。

代码演示:

class Lianxi{public static void main(String[] args){<span style="white-space:pre"></span>//调用getResult方法,并传入一个8.将运算后的值赋给int型变量num。int num = getResult(8);//调用自定义的输出函数将num传入,打印结果为29(正确)sop(num);}//定义一个函数名字叫做getResult,权限是共有的,静态方法,返回值为int,参数列接收一个int型变量。public static int getResult(int x){//返回一个参数乘以3加上5的值    return x*3+5;}public static void sop(Object obj){System.out.println(obj);}}
(注:如果当函数运算后,没有具体的返回值时,这时返回值类型用一个特殊的关键字来标识。该关键字就是void代表的是函数没有具体返回值的情况)

(注意:函数中只能调用函数,不可以在函数内部定义函数。放到类里边即可。)

总结:定义函数可以将功能代码进行封装,便于对该功能进行复用,函数只有被调用 才会被执行,函数的出现提高了代码的复用性。


如何定义函数呢?

1,既然函数是一个独立的功能,那么该功能的运算结果是什么先明确(这其实是在明确函数的返回值类型)

2,在明确在定义该功能的过程中是否需要未知的类容参与运算(明确的是函数的参数列表,参数的类型和参数的个数)

总结:两个明确

1,明确要定义的功能最后的结果是什么?

2,明确在定义该功能的过程中,是否有未知的内容参加运算。

 


函数的重载(overlord)

重载的概念:在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。

重载的特点:与返回值无关,只看参数列表。

//需求:定义一个加法运算,获取两个整数的和。

代码演示:

class Lianxi{public static void main(String[] args){sop(add(5,6));   <span style="white-space:pre"></span>sop(add(5,6,7));}public static int add(int x,int y){return x+y;}//定义一个加法,获取三个整数的和public static int add(int x,int y,int z){return x+y+z;}public static void sop(Object obj){System.out.println(obj);}}
什么时候用到重载呢?

当定义的功能相同,但参与运算的未知类容不同。

那么这时就定义一个函数名称以表示其功能,方便阅读,而通过参数列表的不同来区分多个同名函数

 

数组

数组的定义:同一种数据类型的集合。其实数组就是一个容器。

数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。

格式

元素的类型[] 数组名 = new 元素类型[元素个数或则数组的长度]

//需求:想定义一个可以存储三个整数的容器。

int[] x = new int[3]。

//另外一种定义数组的方式

int[] x = new int[]{5,4,6}

 

数组的操作:获取数组中的元素,通常会用到遍历。

方法:

class Lianxi{public static void main(String[] args){int [] arr = {3,4,6,7,8,2};for(int x=0; x<arr.length; x++)//{    System.out.println("arr["+x+"]="+arr[x]+";");}}}

常见的几种数组排序演示:

 //数组排序之冒泡排序 

public static void bubbleSort(int[] arr){for(int x=0;x<arr.length-1; x++){for(int y=0; y<arr.length-x-1; y++)// -x:让每一次比较的元素减少,-1:避免角标越界。{if(arr[y]>arr[y+1]){int temp = arr[y];arr[y]= arr[y+1];arr[y+1]= temp;}}}}

数组排序之选择排序  

public static void selectSort(int[] arr){for(int x=0;x<arr.length-1; x++){for(int y=x+1; y<arr.length; y++ ){if(arr[x]>arr[y]){int temp = arr[x];arr[x]= arr[y];arr[y]= temp;}}}}

通过以上两种排序方法发现两者都有一个共同点,就是对角标的元素进行位置置换,那么就可以抽取这个共同点,单独的创建一个功能函数

public static void swap(int[] arr,int a,int b)
{int temp =arr[a];arr[a] =arr[b];arr[b] =temp;      }


 

 

0 0
原创粉丝点击