java语言 百分网手机站

Java基本元素详解

时间:2020-11-05 19:07:02 java语言 我要投稿

Java基本元素详解

  生活呆以是甜的,也可以是苦的,但不能是没味的。你可以胜利,也可以失败,但你不能屈服,以下是小编为大家搜索整理了Java基本元素详解,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

  第二章 基本元素

  第一章总结:

  一.Java平台&JDK&JRE&JVM&API

  Java平台:运行在其他平台之上的纯软件平台。Java程序是借助与Java平台去和硬件平台交互的。

  Java语言的工作方式: 源文件文件 运行 JDK:包含Java运行的基本类库和开发命令,安装JDK可以进行完整的Java开发。 java.applet:创建Java小程序

  java.io:输入/输出

  java.net:Java的网络开发

  java.util:Java的工具包

  java.lang:Java的语言包(不需要导包)

  java.swing & java.awt:Java图形化界面的开发

  JRE:Java Runtime Environment 包含Java运行的基本类库和一些运行命令,安装JRE可以运行编译好的Java程序。

  JVM:包括类装载器、class文件检验器、解释器。Java语言内部运行的核心。 JDK中包含JRE,JRE中又包含JVM,JVM不能单独下载安装。

  API:Application Program Interface 应用编程接口及Java的类库 二.环境变量

  JAVA_HOME: 指向JDK的安装路径 jdk的路径

  classpath:Java在编译和运行时要找的class所在的路径 jdk下lib及lib下tools,jar的路径

  系统找字节码的作用:1.先在当前包下找 2. jdk1.6.0_01\jre\lib \rt.jar包下找

  3.在classpath中所指向的路径下找。

  path:系统执行命令时要搜寻的路径 jdk下bin包的路径

  三.Java程序的两种类型: Application:Java应用程序 可以独立运行。

  保存 —HelloWorld.java

  编译 — javac

  javac HelloWorld.java 产生HelloWorld.class 文件

  解释执行 — java

  java HelloWorld (不要再写上.class)

  Applet:Java小程序 被嵌入到Web页中,由Java兼容浏览器控制执行

  编写applet类源代码 HelloApplet.java

  编译applet类所在的源文件 javac HelloApplet.java

  编写嵌入applet的网页文件 appletviewer index.html

  作业:当java文件带包时怎么用命令?

  1.javac命令: 就像是没有包一样 进到源文件在的那个目录下,然后用javac xxx.java编译

  2.java命令:在源文件目录下,建立一个和包名一样的文件夹,把编译好的class文件放入该文件夹中,然后用 java 包名.class文件名

  3.javadoc命令:和没有包一样 进到源文件在的那个目录下,然后用javadoc -d help xxx.java 将文档生成到指定的文件夹下

  4.jar命令: 编写文本文件(Main-Class:包名.文件名.java) 然后用jar -cvmf 文本文件名.后缀 要生成jar包的名.jar

  学习目标: 同ppt

  Java其实和英语或汉语的一样,都是由基本元素构成(字母,单词,短语,句子,文章)。Java中标识符、关键字、运算符、数据类型是英语中的字母;变量、常量是单词;表达式是短语;语句是句子;程序是文章。

  注意:编程的时候所有的标点符号必须在英文状态下输入。

  Java文档及jar包的生成:

  Java文档的生成

  1.javadoc 源文件.java 生成的文档在当前路径下

  2.javadoc –d 生成文档的路径(可以不存在) 源文件.java 生成的文档在指定的路径下

  jar包

  1.编写一个文本文件 hello.txt 内容:Main-Class:com.HelloTest.java

  2.jar –cvmf hello.txt hello.jar

  java.lang包下的类使用时不用导入也不用完整包名。其他包下的类使用时要么导入要么使用完整包名。

  标识符: 概念:标识符就是用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列,并且标识符不能是关键字。

  标识符的组成:

  1.由字母、数字、下划线和$组成

  2.第一个字符不能是数字

  3.区分大小写

  4.不能是关键字

  5.字母包含英语字符和汉字(Java中采用unicode编码)

  6.标识符的长度没有明显规定

  练习:3boy _hello $a dog Dog he&test a*b a@#%b length a b 猫猫 (可以使用,但是不推荐,以后不要用)

  代码习惯:

  1. 类名每个单词以大写字母开始,其他字母小写

  2. 接口名同类名

  3. 方法名第一个单词小写,其他单词首字母大写,其他字母小写

  4. 变量名同方法名

  5. 常量所有单词的所有字母大写,而且单词与单词间用下划线连接。

  6. 包名所有字母都小写。

  关键字:Java已经使用并且有特殊含义。

  基本数据类型:

  unicode: 两个字节保留一个字符。Java中采用unicode编码(对汉字编码) ASCII: 一个字节保留一个字符。 ASCII码的取值范围小与unicode码。 两种分类:

  1. 按类型分:

  整型: byte short int long

  浮点型: float double

  布尔类型:boolean

  字符型: char(可以存一个汉字)

  2. 按有效位分:

  1位: boolean

  8位: byte

  16位:short char

  32位:int float

  64位: long double

  详细解析:

  boolean: 值只有true或false两种 ,与C++中的布尔类型不同

  byte: 8位整形 取值范围:

  注意:byte b = 122; 涉不涉及122为int类型再强转为byte类型? 不涉及 short:16位整形 取值范围:

  int: 32位整形 取值范围:

  ,给任意一个该范围内的整数都默认为int类型。

  注意:

  byte b = 128;//错

  short s = 32768;//错

  long: 64位整形 取值范围:,以“l”或”L”结尾

  long l =2147483648; //错 ,其实等号右边是int类型,然后赋值给l的时候再进行自动转换。

  long l1 = 2147483648L; //对,等号左边和右边都是long类型。

  char: 可以看作是无符号16

  位整形,汉字占一个字节,取值范围:

  在进行运算的时候会被自动转换成int类型再去

  运算。

  字符的存储方式:

  字符整数编码二进制

  char n = 128;//输出乱码;

  char a = ‘b’;

  char b = 97;

  char c = ‘\u0060’;

  float: 用于存储小数,取值范围:,必须以“F”或”f”结尾。

  float f = 9.9; //错 等号右边的默认为double类型,不能自动转换为float。

  float f = (float)9.9; //对 double强制转换为float。

  double:用于存储小数,取值范围:,以“D”或”d”结尾。 给任意一个该范围内的小数都默认为double类型。

  注意: 整型值隐含boolean数组含义 如:

  飞机航班的班期: 1.boolean数组

  2.byte s:

  对应位上为1表示有班期,为0表示无班期 if(s&2的3次方 != 0)表示周三有航班 if(s&(1 << w)!=0)表示周w有航班

  数据类型的存储方式:

  1.精确存储:存储的.值与其存储的状态一一对应

  如 整型

  2. 近似存储:所存储的值和存储状态不一定一一对应,有可能一个存储状态对应多个值。

  如 浮点型(float double)

  比较两个实数是否相同是没有意义的。

  类型转换:

  自动类型转换:

  精度损失:

  4. 强制类型转换也可能会引起数据精度的丢失

  强制类型转换:

  float f = (float) 9.9;

  long l = (long) 9;

  强制类型转换并不是没有限制的,要求只有类型的性质相同才能转换。 强制类型转换基本用在:

  1. 除boolean之外的七种基本类型之间的相互转换

  2. 父子类之间

  3. 接口和实现类之间

  基本类型运算规则:

  如果两个参与运算的数都能够自动转换为int,则结果为int类型,否则结果根据自动类型转换规则,结果为高精度类型。

  变量和常量

  变量是Java语言中的基本存储单位。变量是在程序运行过程中值可以改变即可以多次赋值。定义一个变量需要一个类型,一个标识符,如果需要,还可以加上一个初值。

  编码习惯:变量名第一个单词小写,其他单词首字母大写,其他字母小写

  细节:变量的什么可以改变?什么不能改变? 值可以改变,类型不能变 举例:

  int i;

  int l = 123;

  l = 456;

  常量:在Java中,使用关键字final来表示。与变量不同,常量在程序运行过程中其值不能改变,只能有一次赋值的过程。

  规则:

  有final修饰

  只能赋一次值 定义的时候赋值或定义完之后赋值

  编码习惯:常量所有单词的所有字母大写,而且单词与单词间用下划线连接。 举例: double PI = 3.14;

  PI = 3.1415;//错误,常量只能赋一次值 int CONSTANT; CONSTANT = 123;//正确,第一次赋值

  运算符:

  概念:用来表示各种运算的符号叫做运算符。运算符一定有自己的运算对象。

  针对一定的运算符,都有规定的数据类型,同时运算结果也有确定的数据类型。每个运算符都有自己特定的运算规则。当表达式中出现运算符时则必须考虑运算符的优先级。同时,运算符还有结合性。

  分类:算术运算符,关系运算符,逻辑运算符,递增递减运算符,位运算符,赋值运算符和复合赋值运算符,条件运算符。

  算术运算符:

  常见的算术运算有:加,减,乘,除,取模,取正,取负,对应符号分别为:+,-,*,/,%,+,-,其中只有取正或取负是单目运算符(即只有一个操作数),其他的都是双目运算符(即一个运算符对应两个操作数)。

  关系运算符:

  关系运算符可以用来比较两个数值型数据的大小,也可以比较两个字符型数据的大小。关系运算符的处理结果是逻辑值,若为真用true表示,若为假用false表示。

  关系运算符主要有:>、>=、<、<=、==、!= 即 大于、大于等于、小于、小于等于、等于、不等于。

  == 操作元是对象时判断地址是否相同,是基本类型时判断值是否相同。 逻辑运算符:

  逻辑运算符运算对象是数值型或字符型等。结果只能是true或false。

  &&: 只能是boolean表达式1&&boolean表达式2, 当boolean表达式1为false时,不再执行boolean表达式2,结果为false;当boolean表达式1为true时,执行boolean表达式2,boolean表达式为false,结果为false,否则结果为true。 ||: 只能是boolean表达式1||boolean表达式2,当boolean表达式1为true时,不再执行boolean表达式2,结果为true;当boolean表达式1为false时,执行boolean表达式2,boolean表达式为true,结果为true,否则结果为false。

  &: 只能是boolean表达式1&boolean表达式2,不管boolean表达式1的值为true还是false都会执行boolean表达式2,只有当boolean表达式1的值和boolean表达式2的值都为true时结果才为true,否则结果为false。

  |: 只能是boolean表达式1&boolean表达式2,不管boolean表达式1的值为true 还是false都会执行boolean表达式2,只有当boolean表达式1的值和boolean表达 式2的值都为false时结果才为false,否则结果为true。

  !:只能是!boolean表达式,boolean表达式的值为false,结果为true,boolean表达式为true,结果为false。

  自增自减运算符:

  自增和自减在前置和后置的时候效果不一样。

  举例:

  前置自增:int a = 3; int b = ++a;相当于:int a = 3;a = a + 1; int b = a;//a = 4 b = 4

  后置自增:int a = 3; int b = a++;相当于:int a = 3; int b = a; a = a +

  1;// a = 4 b = 3

  进行赋值运算,再进行自加运算。

  前置自减:int a = 3; int b = --a;相当于:int a = 3;a = a - 1; int b = a;//a

  = 2 b = 2

  后置自减:int a = 3; int b = a--;相当于:int a = 3; int b = a; a = a -

  1;// a = 2 b = 3

  前置自减时,先进行自减运算,再进行赋值运算,后置时,刚好相反,即先

  进行赋值运算,再进行自减运算。

  位运算符:

  正负数在内存中的存储形式:正数:原码,反码,补码都相同

  负数:原码的符号位不变,其他各位取反 则得到反码

  反码+1 = 补码

  正数在内存中用原码表示,负数在内存中用补码表示。

  概念:位运算符是一种对运算对象按二进制位进行操作的运算。

  特点:1.位运算不允许只操作其中的某一位,而是对整个数据按二进制位进行运算。

  2.位运算的对象只能是整型数据(包括字符型),运算结果仍是整形数据。 运算符:

  1.按位与运算: 双目运算符 功能:参与运算的两数各对应的二进位相与。

  只有对应的两个二进位均为1时,结果位才为1,否则为0;

  2.按位或运算: 双目运算符 功能:参与运算的两数各对应的二进位相或。

  只有对应的两个二进位有一个或两个为1时,结果位就为1,否则为0;

  3.按位异或运算: 双目运算符 功能:参与运算的两数各对应的二进位相异

  或。

  4.求反运算: 单目运算符 功能:对参与运算的数的各二进位按位求反。

  5.左移运算: 双目运算符 功能:把”<<”左边的运算数的各二进位全部左移

  若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0.

  如:a << 4 指把a的各二进位向左移动4位。如 a = 00000011(十进制

  的3),左移4位后为00110000(十进制48);a左移四位相当于是计算四次a

  = a*2;

  6. 右移运算: 双目运算符 功能:把“>>”左边的运算数的各二进位全部右

  移若干位,”>>”右边的数指定移动的位数。 低位丢弃,高位补移出

  位。

  byte b = 15; (byte) (b << 1) (byte) (b >> 1)

  b: 0000 1111

  内存中存储的形式:0000 1111

  先扩充为int类型:0000 0000 0000 0000 0000 0000 0000 1111

  左移1位: 0000 0000 0000 0000 0000 0000 0001 1110

  截取为byte类型: 0001 1110 30

  右移1位: 0000 0000 0000 0000 0000 0000 0000 0111

  截取为byte类型: 0000 0111 7

  b = -15

  b: 1000 1111

  内存中存储的形式:原码:1000 1111 反码:1111 0000 补码: 1111 0001

  先扩充为int类型:1111 1111 1111 1111 1111 1111 1111 0001

  补码左移1位:1111 1111 1111 1111 1111 1111 1111 0010

  截取为byte类型:1111 0010 反码: 1111 0001 原码: 1000 1110 -30

  补码右移1位:1111 1111 1111 1111 1111 1111 1111 1000

  截取为byte类型:1111 1000 反码:1111 0111 原码:1000 1000 -8

  b = 127

  b: 0111 1111

  内存中存储的形式:0111 1111

  先扩充为int类型:0000 0000 0000 0000 0000 0000 0111 1111

  左移1位: 0000 0000 0000 0000 0000 0000 1111 1110

  截取为byte类型: 1111 1110 反码:1111 1101 原码:1000 0010 -2 右移1位: 0000 0000 0000 0000 0000 0000 0011 1111

  截取为byte类型: 0011 1111 63

  b = -127

  b: 1111 1111

  内存中存储的形式:原码:1111 1111 反码:1000 0000 补码: 1000 0001

  先扩充为int类型:1111 1111 1111 1111 1111 1111 1000 0001

  补码左移1位:1111 1111 1111 1111 1111 1111 0000 0010

  截取为byte类型:0000 0010 2

  补码右移1位:1111 1111 1111 1111 1111 1111 1100 0000

  截取为byte类型:1100 0000 反码:1011 1111 原码:1100 0000 -64

  7. 无符号右移:>>> 移出去的不管,移进来的补0;

  注意:移位运算不能把有效位均移出去 。int a<< 33 相当于 a<<(33%32)

  赋值运算符:

  =

  复合赋值运算符:

  += ,-=,*= ,/= ,%=,|=, &=,^=

  区分:

  == 关系运算符

  = 赋值运算符

  条件运算符:

  唯一的一个三目运算符。

  格式:

  boolean表达式1?表达式2:表达式3

  含义:

  先判断boolean表达式1的值,为true时执行表达式2,为false

  时执行表达式3。

  注意:

  boolean表达式1一定会执行,表达式2和表达式3一定并且只能执

  行其中的一个。

  条件表达式在作非此即彼的条件判断时非常地简洁有效,条件表达式完全可以用以后学的if?else语句替代,但是,这一点是if?else语句所不能及的。

  表达式和语句:

  表达式是运算符、操作数以及方法调用的序列,用来说明某个计算过程并计算结果,有一个唯一类型的值。如:1+1

  Java语言中的语句用于向计算机发出操作指令。一个为实现特定目的的程序应该包含若干语句。

  语句 = 表达式+“;”

  例如: int area = length * width;

  语句:

  1. 方法调用语句

  input();

  2. 表达式语句

  i = 3;(赋值语句)

  3. 复合语句。

  {i= 3;

  System.out.println(i);}

  4. 控制语句

  包括分支、循环、跳转

  5. pakage 和 import语句

  类:类的全限定名: 包名.类名

  package 定义当前类所在的包

  import 导入用到API中的类

  导入的是类 import java.util.Random;

  import java.util.* 表示导入java.util包中的所有类

  注释:

  a) 单行注释: //

  b) 多行注释: /* */

  c) 文档注释: /** */

  总结: 1.本章讲述了Java标识符与关键字概念,学习的重点是要了解Java的四类八种基

  本数据类型使用,以及变量和常量的定义。

  2.熟悉几种运算符的使用,熟练运用Java表达式和语句的书写规范。

  3.特别需要重点对待的注释,同学们在学习的过程中一定要养成写注释的好习惯。

  编程:

  1:输入两个数字,输出最大的数字。

  2:输入一个年份,判断这年是平年还是闰年,并且输出。

  String judge = year%400 == 0 ? "闰年":year % 4 == 0 && year % 100 !=0?"闰年":"

  平年";

【Java基本元素详解】相关文章:

1.java基本教程之join方法的详解

2.Java中Class对象详解

3.java selenium基本教程

4.java语法基本编程

5.Java内存区域的使用详解

6.java集合类基本简介

7.Java面向对象三大特征详解

8.Java数组的基本学习教程

9.Java多线程的基本使用