java基础教程笔记

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA基础教程笔记

第一章:java语言概述

J2se:J2SE(Standard Edition)就是Java2的标准版,主要用于桌面应用软件的编程

J2ee:J2ME(micro edition),又称为微缩版,主要应用于嵌入是系统开发,如手机和PDA的编程

Jsme:J2EE(Enterprise Edition)是Java2的企业版,主要用于分布式的网络程序的开发

类库:属性和方法,是对具体的一种抽象

OOA,OOP,OOD.

Java和C和c++语言都是跨平台的语言

1.c和c++是源码型平台无关性语言。

2.java是目标型的平台无关性语言。

Java的执行方式和c语言的执行方式的区别?

JVM:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。

什么叫做环境变量?

环境变量的设置,变量名,变量值(jdk所安装的位置),幻灯片有相关内容

第二章:java程序结构

Java程序的结构:

1./*这是一个简单的Java程序示例程序*/

2.package mypack;

3.importjava.util.*;

4.public class Example {

5.public static void main (String args[ ]) {

6.System.out.println("Java欢迎您!");

7.}

8.}

args[ ]:主函数调用时候传入的参数

final varTypevarName[=value],声明一个常量的时候!比如说声明一个圆周率:3.14

java的基本数据类型-记忆

true 和false 在java语言中,true和false的值是什么?0或1…….?

Byte:本身是整形,是一个字节,在32位机和64位机上是不会改变的。

Unicode:唯一码是两个字节,

背景:用两个字节表示一个汉字

*char与byte或short之间的赋值必须实行强制转换

有关基本数据类型的知识挖掘?

算术运算符和算术表达式:

JAVA移位运算符:

移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:<<(左移)、>>(带符号右移)和>>>(无符号右移)。

在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是移动66次和移动2次得到的结果相同。

三种移位运算符的移动规则和使用如下所示:

<<运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。

语法格式:

需要移位的数字<<移位的次数

例如:3 << 2,则是将数字3左移2位

计算过程:

3 << 2

首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,然后把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位,最后在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100,则转换为十进制是12.数学意义:

在数字没有溢出的前提下,对于正数和负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。

>>运算规则:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1.

语法格式:

需要移位的数字>>移位的次数

例如11 >> 2,则是将数字11右移2位

计算过程:11的二进制形式为:0000 0000 0000 0000 0000 0000 0000 1011,然后把低位的最后两个数字移出,因为该数字是正数,所以在高位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 0010.转换为十进制是3.数学意义:右移一位相当于除2,右移n位相当于除以2的n次方。

>>>运算规则:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。

那么不同点是什么?

无符号位移(>>>)和有符号位移(>>)的区别是

有符号位移运算时如果数字为正数时位移后在前面补0,为负数时则在位移后在前面补1 例

100>>2==25 和上面的计算方法一样

如果100为负数

-100>>>2

-100的二进制为1111111111111111111111111111111111111111111111111111111111111100 移除最后2位后11111111111111111111111111111111111111111111111111111111111111

之后在前面补两位1111111111111111111111111111111111111111111111111111111111111111

变为十进制后结果为-1

所以

-100>>>2=-1

其他结构和>>相似。

小结

二进制运算符,包括位运算符和移位运算符,使程序员可以在二进制基础上操作数字,可以更有效的进行运算,并且可以以二进制的形式存储和转换数据,是实现网络协议解析以及加密等算法的基础。

实例操作:

public class URShift {

public static void main(String[] args) {

int i = -1;

i >>>= 10;

//System.out.println(i);

mTest();

}

public static void mTest(){

//左移

int i = 12; //二进制为:0000000000000000000000000001100

i <<= 2; //i左移2位,把高位的两位数字(左侧开始)抛弃,低位的空位补0,二进制码就为0000000000000000000000000110000

System.out.println(i); //二进制110000值为48;

System.out.println("
");

//右移

i >>=2; //i右移2为,把低位的两个数字(右侧开始)抛弃,高位整数补0,负数补1,二进制码就为0000000000000000000000000001100

System.out.println(i); //二进制码为1100值为12

System.out.println("
");

//右移example

int j = 11;//二进制码为00000000000000000000000000001011

j >>= 2; //右移两位,抛弃最后两位,整数补0,二进制码为:00000000000000000000000000000010

System.out.println(j); //二进制码为10值为2

System.out.println("
");

相关文档
最新文档