黑马程序员 Java的基础常识和Java的基础知识(一)

来源:互联网 发布:淘宝网179俱乐部假酒 编辑:程序博客网 时间:2024/05/21 06:59

                                         黑马程序员 Java的基础常识和Java的基础知识(一)

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

                                     (一)Java的基础常识

1.什么是软件

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

(2)常见的软件有:

(a)系统软件:DOS,windows,Linux等。

(b)应用软件:扫雷,迅雷,QQ等。


2.什么是开发?

(1)制作软件


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


4.交互方式:

(1)图形化界面:这种方式简单直观,使用者易于接受,容易上手操作。

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


5.命令行方式

Dos命令行,常见的命令。

(1)dir:列出当前目录下的文件以及文件夹。

(2)md:创建目录。

(3)rd:删除目录。

(4)cd:进入指定目录。

(5)cd..:退回到上一级目录。

(6)cd/:退回到根目录。

(7)del:删除文件。

(8)exit:退出dos命令行。


6.什么是计算机语言?

计算机语言是人与计算机交流的方式,如果人要与计算机交流,那么就要学习计算机语言。计算机语言有很多种,如:C,C++,Java等。这里我们选择其中的一种:java语言。


7.java语言概述

(1)java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言。

(2)Java是一种面向Intemet的编程语言。

(3)随着java技术在web方面的不断成熟,已经成为web应用程序的首选开发语言。

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


8.java语言的三种技术架构

(1)J2EE(Java 2 Platform Enterprise Edition)企业版

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

(2)J2SE(Java 2 Platform Standard Edition)标准版

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

(3)J2ME(Java 2 Platform Micro Edition)小型版

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


9.java语言的特点:跨平台性

(1)什么是跨平台性?

通过java语言编写的应用程序在不同的系统平台上都可以运行。

(2)原理是什么?

只要在需要运行java应用程序的操作系统上,选安装一个java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。

(3)因为有了JVM,所以同一个java程序在三个不同的操作系统中都可以执行,这样就实现了java程序的跨平台性,也称为java具有良好的可移植性。


                                       (二)Java的基础知识

Java语言的环境搭建

1.什么是JRE,JDK?

(1)JRE(Java Runtime Environment   java运行环境)

包括java虚拟机(JVM Java Virtual Machine)和java程序所需的核心类库等,如果想要运行一个开发好的java程序,计算机中只需要安装JRE即可。

(2)JDK(Java Deveiopment Kit     java开发工具包)

JDK是提供给java开发人员使用的,其中包含了java的开发工具,也包括JRE,所以安装了JDK,就不用在单独安装JRE了。其中的开发工具:编译工具(javac.exe),打包工具(jar.exe)等。


2.下载JDK

(1)官方网址:

www.oracle.com

java.sun.com

(2)下载流程







3.安装JDK


4.环境变量配置

(1)打开我的电脑-属性-高级系统设置


(2)选择高级-点击环境变量


(3)点击Path


(4)将JDK的bin文件路径复制到变量值的最前面,用分号结束。



5.临时环境变量配置

set:可以查看或者设置环境变量的值。如set path是查看path具体的值

set path=E:\Java\jdk1.8.0_25\bin:临时设置变量值,只在当前窗口有效。

set path=          清空变量值。

set path=haha;%E:\Java\jdk1.8.0_25\bin%:在原来path的基础上添加haha变量值。

如果你设置了临时环境变量值,同时你用命令start方式再打开一个doc窗口的话,新的窗口会沿袭原窗口的变量值。


6.classpath配置

(1)classpath和path的区别

classpath变量值是java类文件的目录

path变量值是windows程序文件的目录

(2)定义classpath的意义

可以在任意目录下都执行某一目录下的class文件

(3)格式:set classpath=class文件所在的路径

(4)set classpath=         清空classpath的值

(5)set classpath=xxx;和set classpath=xxx的区别:前者JVM会先在classpath值的路径找class文件,然后再到当前目录找class文件。后者只在classpath值的路径找class文件。

(6)JVM优先执行classpath值下的class文件,如果classpath为空,再到当前目录寻找并执行。

(7)当你想优先在当前目录寻找并执行class文件,你可这样设置:Set classpath=.;c:\;d:\

(8)path和classpath执行顺序的区别

如果设置了path值,它会先当前目录查找,再在path值查找;

如果设置了classpath值且带分号,它会先在classpath值查找,再到当前目录查找。


7.编写Hello Word程序

class Demo{ public static void main(String[] args) { System.out.println(“Hello Word”) }}



Hello Word执行流程:

java文件—编绎(javac.exe)—生成java文件—运行(java.exe)—结果 


8.Hello Word的组成

(1)class是一个关键字:关键字是java语言赋予特殊涵义的单词。

(2)class+空格+类名 

类名的格式是:如果类名是由多个单词组成的,那么每个单词的首字母都要大写,如class XxxYyyZzz 。注意,类名要有可阅读性,方便理解。

(3)主函数的格式是固定的:public static void main(String[] agrs) 

主函数能够保证类的独立运行,是程序的入口。主函数是被JVM调用的。


9.注释

(1)Java中通过javadoc工具将程序中的注释文档生成一个网页,这个网页就是程序的说明书。

(2)多行注释:/*  注释内容   */;单行注释://注释内容。

(3)注释的作用:可以对程序进行说明,方便理解;也可以调试程序。


10.标识符

(1)在程序中自定义的一些名称

(2)由26个英文字母大小写,数字:0-9,符号:_$组成。

(3)定义合法标识符规则:数字不可以开头,不可以使用关键字。

(4)Java中严格区分大小写

(5)注意:在起名字时,为了提高阅读性,要尽量有意义。


java中的名称规范

(1)包名:多单词组成时所有字母都小写。如xxxyyyzzz

(2)类名接口名:多单词组成时,所有单词的首字母大写。 如XxxYyyZzz

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

(4)常量名:所有字母都大写,多个单词进每个单词用下划线连续。 如XXX_YYY_ZZZ


java中常量的分类

(1)整数常量,所有整数

(2)小数常量,所有小数

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

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

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

(6)null常量,只有一个数值就是null。


11.对于整数:java有三种表现形式

(1)十进制,0-9,满10进1

(2)八进制,0-7,满8进1,用0开头表示

(3)十六进制,0-9,A-F,满16进1,用0开头表示。


12.进制的转换。

(1)十进制转二进制的方法          

  

(2)二进制转十进制的方法,如110:1x2(2次幂)+1x2(1次幂)+0x2(0次幂)=6

(3)十进制转16进制。

为了方便转化,先将十进制转成二进制,再按照四个二进制位为一个十六进制位计算。从右边开始数,不够四位在左边第一位补0

十进制:90

二进制:0101-1010

十六进制:0x5A

(4)十进制转八进制,先将十进制转成二进制,再按照三个二进制位为一个八进制位计算。从右边开始数,不够三位在左边第一位补0

十进制:90

二进制:001-011-010

八进制:132

(5)负数的二进制表现形式

6=110

-6:其实就是6的二进制取反再加1

取反:将二进制的1变成0,0变成1.

(拓展:一个字节有8个二进制位。byte 1个字节 ,short 2个字节 ,char 2个字节 ,int 4个字节, long 8个字节 ,float 4个字节, double 8个字节)

        0000-0000 0000-0000 0000-0000 0000-0110

取反 1111-1111 1111-1111-1111-1111-1111-1001

加一 0000-0000 0000-0000 0000-0000 0000-0001

等于 1111-1111 1111-1111-1111-1111-1111-1010=-6


13.变量的概念

(1)内存中的一个存储区域

(2)该区域有自己的名称(变量名)和类型(数据类型)

(3)该区域的数据可以在同一类型范围内不断变化


14.为什么要定义变量

用来不断的存放同一类型的常量,并可以重复使用。


15.使用变量注意

(1)变量的作用范围(一对{}之间有效)

(2)初始化值


16.定义变量的格式

(1)数据类型 变量名=初始化值

(2)注意:格式是固定的。


17.数据类型


byte类型的数值范围是[-128,127]

Short类型的数值范围是[32768,32767] 

浮点类型默认类型是double,当定义float类型数据时要作说明,如:float f=2.3f  

 

18.类型转换

byte b=3;b=(byte)(b+2)

b是byte类型的,一个字节,2int类型的,4个字节,那么b会自动提升为4个字节进行运算,运算后需要强制转换为byte。


19.转义字符。

\n:换行 

\b:退格,相当于backspace键

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

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


20.赋值运算符

short s=4;

s=s+5;//编译失败,两次运算,相加,赋值。

s+=5//编译成功,因为它能自动强转,一次运算。


21.比较运算符

==:等于,跟=不一样,=是赋值运算符。

!=:不等于

<,<=:小于和小于等于

>,>=:大于和大于等于

instanceof:检查是否为类的对象

注意:比较运算符的结果都是boolean型,结果只有true或false


22.逻辑运算符

&:与,false&true,只要出现flase,结果就为flase

|:或,false|true,只要出现true,结果就为true

^:异或,false^true,两边相同为false,不同为true。 

!:非,!true为false,!false为true

&&:短路

&和&&的特点:&无论左边是true还是false,右边都运算。&&当左边为false时,右边不运算。

||:短路

|和||的特点:|无论左边是true还是false,右边都运算。||当左边为true时,右边不运算。


23.位运算符

(1)<<(左移):左移x位,右边末尾就补x个0,左移会令数值越来越大。y<<x,运算公式:y*2(x次幂)

(2)>>(右移):右移x位,左边高位就补x个0或1,高位根据原有数据的高位而决定补0或1,右移会令数值越来越小。y<<x,运算公式:y/2(x次幂)

(3)>>>(右移):无论最高位是什么,右移后都用0补。

(4)&(与),|(或),^(异或,一个数异或两次相同的数,值不变),~(反码,也就是取反):都是先转成二进制,再进行运算。如2&3.

  0000-0000 0000-0000 0000-0000 0000-0010

& 0000-0000 0000-0000 0000-0000 0000-0011

= 0000-0000 0000-0000 0000-0000 0000-0010=2


24.练习

1.最有效率的方式算出2乘以8等于几?

化简:2*2(3次幂),所以就是2<<3。

2.对两个整数变量的值进行互换(不需要第三方变量)

n=n^m;

m=n^m;//其实就是m=(n^m)^m=n

n=n^m//其实就是n=(m^n)^n=m


25.三元运算符

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

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

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

如:int x=3,y=4,z;

    z=(x>y)?x:y;//z=4





0 0
原创粉丝点击