黑马程序员之了解java


^_^o~ 努力!—————————>  android培训java培训、期待与您交流!—————————> #^_^#~成功!

Java、Android、PHP、.Net视频下载 


目录

Java语言概述

Java语言的三种技术架构

Java语言的特点

Java语言环境的搭建

Java语言基础组成

    |--->关键字、标示符、注释、常量与变量、运算符、语句、函数、数组

Java语言概述

1. 是SUN(StanfordUniversity Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。
2. 是一种面向Internet的编程语言。
3. 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

4. 是简单易学,完全面向对象,安全可靠,与平台无关的编程语言(指操作系统)。

Java语言的三种技术架构

J2SE 标准版:是为开发普通桌面和商务应用程序提供的解决方案。该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发,如Java版的扫雷。

J2ME 小型版:是为开发电子消费产品和嵌入式设备提供的解决方案。该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。

J2EE 企业版是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如 Servlet、Jsp等,主要针对于Web应用程序开发。

  (Java5.0版本后更名为JAVASE、JAVAME、JAVAEE)

Java语言的特点

java的跨平台性(平台means操作系统):通过Java语言编写的应用程序在不同的系统平台上都可以运行。

跨平台的原因:只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中                           的运行。(PS:C++能在windows中运行就是因为windows里面有一个   能解 析C++语言程序的虚拟机) 

Java语言环境的搭建

1.JVM、JRE和JDK的区别:

JVM(Java VirtualMachine):java虚拟机,用于保证java的跨平台的特性。java语言是跨平台,jvm不是跨平台的。

JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。

JDK(Java DevelopmentKit):java的开发工具,包括jre+开发工具(编译工具javac.exe和打包工具jar.exe等)

简单来说就是使用JDK开发完成的java程序交给JRE去运行。

2. 环境变量配置

由于版面原因请参见:http://blog.csdn.net/hinoone/article/details/9570031

Java语言基础组成

1.   关键字:被java赋予了特殊含义的单词

2.   标示符:在程序中自定义的一些名称由26个英文字母大小写,数字:0-9,符号_$组成定义合法标示符。

规则:数字不可以开 头,不可以使用关键字Java中严格区分大小写,Java中的名称规范

                        包名:多单词组成时,所有字母都小写。例xxxyyzz

                        类名、接口名:多单词组成时,所有单词的首字母大写。例 XxxYyZz

                        变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。例 xxxYyZz

                        常量名:所有字母都大写,多单词时每个字母用下划线连接。例 XX_YYY_ZZ

3.  注释

/**
作者:张三
版本:V1.0
这个类是用于演示hello world。
*/--------------------------------------------->这是文档注释,java特有的。
classDemo //这是我的第一个java小程序,//很爽!---------->单行注释
{
    /*
    main函数可以保证该的独立运行。它是程序的入口。
    它会被JVM所调用。
    */-------------------------------------->多行注释(不能有多行注释)
    public static void main(String[] args)
    {
        System.out.println("hellojava");//这是输出语句,可以打印小括号中的内容。
    }
}

4.  常量和变量

常量表示不能改变的数值。

Java中常量的分类:

1.     整数常量,所有整数 ,对于整数java有三种表现形式::十进制:0-9,满10进1;八进制:0-7,满8进1,用0开头表示;十六进制:0-9,A-F,满16进1,用0X开头表示。

2.     小数常量,所有小数

3.     布尔型常量,较为特有,只有两个数值。true、false

4.     字符常量,将一个数字字母或者符号用单引号(’’)标识

5.     字符串常量,将一个或者多个字符用双引号标识

6.     null常量,只有一个数值就是null

进制的基本转换

    十进制转成二进制:除以2取余数;二进制转成十进制:乘以2的幂数

          负数的二进制:对应的正数二进制取反加1  

变量及变量的作用域

变量的概念:内存中的一个存储区域该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以再同一类型范围内不断变化。

为什么要定义变量?   用来不断的存放同一类型的常量,并可以重复使用;变量的作用范围:一对{ }之间有效

定义变量格式:数据类型变量名 =初始化值 。注:格式是固定的,记住格式以不变应万变,也可以这么理解:变量就如   同数学中的未知数

什么时候定义变量?   当数据不确定的时候,需要对数据进行存储时,就定义一个变量来完成存储动作

 数据类型:

    (1)基本数据类型(4类8种):

        整数类型:byte、short、int、long

        浮点数类型:float、double

        字符类型:char

        布尔类型:boolean(ture false)

    (2)引用数据类型:

        类

        接口

        数组

基本数据类型之间的转换

精度从高到低  double  float long  int  short(char)  byte

自动类型转换(也叫隐式类型转换)

要实现自动类型转换,需要同时满足两个条件:第一,两种类型彼此兼容。第二,目标类型的取值范围要大于源类型。  

例:自动类型提升

     byte b = 5;

     int x =6;

     x = x + b;//b会自动提升为int类型进行运算

强制类型转换(也叫显示类型转换)

当两种类型彼此不兼容,或目标类型取值范围小于源类型时,自动转换无法进行,这时就需要进行强制类型转换。

强制类型转换的通用格式:目标类型变量=(目标类型)值。

例:强制类型转换

    byte b = 6;

    b = b + 5;//报错

    b = (byte)b+5;//强制类型转换,强制将b+5的结果转换为byte类型,再赋值给b,               注意可能损失精度

转义字符:通过\ 来转变后面字母或者符号的含义。

     \n:换行。

     \b:退格。相当于backspace。

     \r:按下回车键。window系统,回车符是由两个字符来表示\r\n.

    \t:制表符。相当于tab键。

    字符串和任何数据都是用+号相连,最终都会变为字符串System.out.print(5+5+"="+5+5);//10=55

5.   运算符

算术运算符(+ 、— 、* 、/ 、%)

赋值运算符(= 、+=、-=、*=、/=,、%=)

        Short s = 3;

S = s+2;//编译失败,因为s会被提升为int类型,运算后的结果还是int型,无//法赋值给short

        S+=2;//编译通过,因为+=运算符在给s赋值时,已经自动完成强转操作。

比较运算符(>、>=、<、<=、!=):结果都是Boolean型。

逻辑运算符(&&、||、!&、|、^)

&与&&(条件与、短路与)的区别:第一个操作数 为真时才判断第二个操作数。

|与||(条件或、短路或)的区别:第一个操作数为真时不再判断第二个操作数。

位运算符(&、|、^、~反码、>>、<<、<<<、>>>)

    按二进制进行操作、效率高。

>>最高位补什么由原有数据最高位值而定,最高位是0补0,1补1.

>>>是无符号右移,右移时符号位填充的都是0

y<<x相当于乘以2的x次方;Y>>x相当于除以2的x次方

反码:~6=-7

对两个整数变量的值进行互换的方法。

通过第三方变量(最常用)

Int temp = n;

n = m;

m = temp;

异或方法(n = n^m ; m = n^m ; n = n^m)、

n = n ^ m;

m = n ^ m;//(n^m)^m;

n = n ^ m;//n^(n^m)

加减法(当int值大时容易溢出)

n = n + m;//如果n和m的值非常大,容易超出int范围。

m = n - m;

n = n - m;

三元运算符(?:)

格式:(条件表达式)?表达式1:表达式2;

如果条件为true,运算后的结果是表达式1;如果条件为false,运算后的结果是表达式2;

6.  语句

判断结构

      if语句三种格式:

选择结构 

switch语句:

                 

switch语句特点:

a:switch语句选择类型只有四种:byte,short,int,char                         

b:case之间与default没有顺序,先执行第一个case,没有匹配的case执行default

c:结束switch语句的两种情况:遇到break,执行到switch语句结束            

d:如果匹配的case或default没有对应的break,那么程序会继续向下执行,运行可以的语句,直到遇到break或者switch皆为结束     

if和switch语句很像。

        如果判断的具体数值不多,而是符合byte short int char这四种类型。

        虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。

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

循环结构

代表语句:while,do while,for

    

3.for(初始化表达式;循环条件[必须有真假]表达式;循环后的操作表达式)

         {

             执行语句;

         }

       无限循环的最简单表现形式。

         for(;;){}      while(true){}      ps:[循环条件默认为true] 

 1.变量有自己的作用域。对于for来讲:如果将用于控制循环的增量定义在for语句中。那么该变量只在for语句内有效。for语        句执行完毕。该变量在内存中被释放。

  2.for和while可以进行互换。如果需要定义循环增量。用for更为合适。

总结:什么时候使用循环结构?当要对某些语句执行很多次时,就使用循环结构。

     其他语句

break:用于跳出其所在的最内层的循环体;带标签的可以跳出多重循环体,伪代码

continue: 语句不跳出所在的循环体,而是中断执行当前循环的剩余部分,并进入下一轮循环。

记住:

1,break和continue语句作用的范围。

2,break和continue单独存在时,下面不可以有任何语句。因为都执行不到。

7.  函数

定义:函数就是定义在类中的具有特定功能的一段独立小程序,也称方法。

函数的格式:

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

    执行语句;

    return 返回值;

  } 

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

参数类型: 是形式参数的数据类型。

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

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

return:用于结束函数。

返回值:该值会返回给调用者。

特点:

     定义函数可以将功能代码进行封装;便于对该功能进行复用;函数只有被调用才会被执行;

     函数的出现提高了代码的复用性;对于函数没有具体返回值的情况,返回值类型用关键字void表示,

     那么该函数中的return语句如果在最后一行可以省略不写。

ps:函数中只能调用函数,不可以在函数内部定义函数,函数的结果应该返回给调用者。交由调用者处理。

重载:

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

     特点:与返回值类型无关,只看参数列表(参数类型以及参数个数)。     

     好处:方便于阅读,优化了程序设计。

8.    数组

概念:同一种类型数据的集合,其实就是一个容器

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

格式1:

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

例如:

int [ ] arr =new int [4];//或者 int arr[ ] = new int [4];

格式2:

元素类型 [ ] 数组名=new元素类型 [ ]{元素,元素,元素..........}

例如:

int [ ] arr =new int [ ]{4,5,8,6,9};//或者int [ ] arr ={4,5,8,6,9};


^_^o~ 努力!—————————>  android培训java培训、期待与您交流!—————————> #^_^#~成功!

Java、Android、PHP、.Net视频下载 


 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值