`
javahigh1
  • 浏览: 1276668 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java学习笔记

 
阅读更多

1 Java起源

2 Java语言概述

1.面向对象编程的3个原则:封装(encapsulation)、继承(inheritance)、多态性(polymorephism)

封装:将代码及其处理的数据捆绑在一起的一种机制;

继承:一个对象获得另一个对象的属性的过程;

多态性:一个接口,多种方法。

2System.out.println(dfjdfjdf);

System.out.print(“dfdfdfdf”);

这两种写法输出基本一样,只是print不换行

3.基本词汇:空白分隔符(whitespace)标识符(identifiers)常量(literal)注释(comments)分隔符(separatorsjava关键字 java类库

3 数据类型、变量、数组

1Java语言是强类型语言,java定义了8个简单数据类型:byte short int long char float double Boolean

2.如果一个数据类型占8位那么他的范围为-27次方)到27次方-1,一共28次方个数字(别忘记0),其中最高为作为符号位,是1就为负值。

其中:(28次方-1)等于20次方+21次方+……+27次方

所以IP地址中若地址为00000000则代表可以有256个地址,0次方+21次方+……+27次方=255,但是别忘记0 !!!

3.标准的ASCII字符集的范围为0~127(共27次方个,因为最高位没用),扩展的ASCII字符集范围为0~255(共28次方个)

UNICODE字符集占16位,范围为:0~65535(共216次方个)

4 System.out.println(The value is+ (10>9)); 结果为true,10>9加括号,因为+的优先级大于”>

System.out.println(10>9”); 结果为10>9

5Octal------8进制 ,前面加0表示

Hexadecimal------16进制,前面加0x 0X表示

6Java中的浮点字面量默认是双精度的,占64

1234333f(orF)---------float

1234343434d(or D)-------double

所以:float m=20.3将编译出错,应该写为float m=(float)20.3

7.自动类型转换:

满足以下两个条件:这2种类型是兼容的; 目的类型的范围比源类型的范围大

强制类型转换:

2种不兼容类型之间的转换,格式为:(target-type) value,例如:将整形转为字节型,若整形的值超出byte的取值范围,则转化后的值为对256取摸。Byte b; int i=300; b=(byte)i; b的值为44

例如:将323.234强制转为byte的步骤:去掉小数点后的数为323,在执行323%256得到67

8.自动类型提升,用在表达式中,byteshort自动提升为int

例如:

byte b=50;

b=b*2;//编译将出错!因为b*2为整形

应该写为

b=(byte)(b*2)//括号的优先级大于*,所以b*2要加括号

又例如:

short mm=(short)0x8000;//此处的(short)也必须写,否则编译出错!!!

9.数组,声明格式:

int array[]=new int[3];

或者

int array[];

array=new int[3];

//初始化

array[0]=1;

array[1]=2;

array[2]=3;

或者

int array[]={1,2,3};//此时自动分配内存,而不用new操作符

注意:[]之内不可写进长度,否则编译出错!!!

另外Java进行数组越界检查,而C/C++没有

多维数组:

int Dshuzu[][]=new int[2][3];

初始化

Dshuzu[0][0]=1;……………

或者 int Dshuzu[][]={

{12,13,14},

{20,21,22}

};//[]之内不可写进长度,否则编译出错!!!

可以先个第一维分配内存,第二维手工分配内存。例如:

int Dshuzu[][]=new int[3][];

Dshuzu[0]=new int[1];

Dshuzu[1]=new int[2];

Dshuzu[2]=new int[3];

第二维的大小不相等,图例:

Dshuzu[0][0]

Dshuzu[1][0] Dshuzu[1][1]

Dshuzu[2][0] Dshuzu[2][1] Dshuzu[2][2]

另外的数组声明方法:

int[] mm = new int[12];

int[][] nn = new int[3][4];

java中数组是作为对象来使用的。数组有一个实例变量length,存储的是数组能够包含的元素的个数。

例如:

char arr[]=new char [10];//不论字符数组,还是整形数组,元素个数最多为10个,下标从0-9

arr.length;//他的值为10

int arr1[20]={1,3,4,5};

arr1.length//他的值为20

char str[][]=new char[2][3]//此二维数组的length2。即第一维 的长度

10Java中方法内部声明的变量必须赋初值,虽然它有自己的默认值。例如:

int i;

system.out.println(i);//编译将出错,提示i没有初始化,解决:int i=0;

但是实例变量不存在这种情况。

4 运算符

四大运算符:算术运算符、位运算、关系运算、逻辑运算

另外还有比较运算符(instanceof)

4 1算术运算符号

算术运算符不能用在boolean上,但是可以用在char上,因为在Javachar 类型是int 类型的一个子集。

对整数进行“/”运算,余数将被舍去。例如:int i=6/4;结果为1

%运算符也可以用在浮点数(C/C++中不允许)例如:

4225%10的结果为2.25

注意递增递减运算 ++mm++的区别

++m 的值和m保持同步,而m++的值比m1。例如int m=0;

++m;//m的值为1++m表达式的值也为1

m++;//m的值为1m++表达式的值为0

有一个例子:

int i=100;int j=200;

while(++i< --j);//空循环体,i大于或等于j则循环结束

system.out.println(:i is + i);//求出ij的中间值150

算术赋值运算 例如:a+=4;等价于a=a+4;

42位运算符(bitwise operators

直接对整数类型的位进行操作,包括:byte short int long char

理解 反码、补码。负数的2进制表示是:将原码做反码后加1

整型都是有符号的,(除了char,所以用他们的最高位来表示符号位。

注意:对byteshort 移位运算时(不论左移还是右移),byteshort 都先被自动提升到int型。再执行移位运算。如果byteshort为负数的时候,也就是说符号位也要扩展,高位全部用1填充,随后再做移位!

例如:

byte b=01000000;

int i;

i=b<<2;

//结果为2562进制为00000000 00000000 00000001 00000000

b=(byte)(b<<2);//结果为0,byte只有8位,高位被截断

例如: byte b=11111111;//十进制为-1

b=(byte)(b<<2);

//变为11111111 11111111 11111111 11111100,10进制为-4

b=(byte)(b>>2);

//变为11111111 11111111 11111111 1111111110进制为-1

b=(byte)(b>>>2);

//变为00111111 11111111 11111111 11111111b还是-1,因为b先被扩展为int

注意:左移(<<)时,如果将1移进高位(3163)那么值就变为负的。

高位移出,低位补0

右移运算(>>):低位移出,高位填充原来高位的值。

无符号右移(>>>):低位移出,高位用0填充。

注意:因为short byte 总被扩展到32位,所以符号位扩展和移动总是发生在3264位。

掌握位赋值运算符,例如:a=a>>4;等价于 a>>=4;

a^=b; 等价于a=a^b;

43关系运算符

== > < <= >= !=

关系运算的结果为boolean,只有truefalse,不像C/C++中,非0true0false

boolean flag= a<c></c>这种写法是正确的

44布尔逻辑运算符

布尔逻辑运算的运算数只能是布尔型,结果也为boolean

注意:

标准的逻辑与(&)和逻辑或(|)不论第一个表达式为true or false,都计算第二个表达式。例如:

if (c==0 | e++ < 100) d=12;//不论c是否等于0e都被自增量。

短路AND(&&)和短路OR(||)

A&&B,Afalse时,不去计算B的值而直接返回false;Atrue时,计算B的值。

A||B,当Atrue时,不去计算B的值而直接返回true; Afalse时,计算B的值。

45赋值运算符(=

int x,y,z;

x=y=z=100;//允许对一连串的变量赋值

46 ?运算符

三元运算符(ternary),经常用于取代if- else语句。格式:

expression1?expression2:expression3

//expression1是一个布尔表达式, expression2expression3是除了void类型以外的任何类型的表达式,并且它们的类型必须相同。

例如:

rado=denom==0?0:num/denom;

//如果denom等于0则?表达式的值为0,否则为num/denom。最后将?表达式的值赋给rado

47运算符的优先级

掌握运算符的优先级。适当的运用()可以提高程序的可读性,澄清含义,而不至于降低程序的运行速度。

分享到:
评论

相关推荐

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。

    Java学习笔记——良葛格

    "Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...

    java学习笔记1

    Java学习笔记1 Java学习笔记1是学习Java过程中的笔记,主要记录了Eclipse开发环境中的快捷键使用、编辑功能、查找和调试等知识点。 Eclipse快捷键 Eclipse中有许多快捷键,掌握这些快捷键可以大大提高开发效率。...

    (完整版)最全的java学习笔记(必看).pdf

    Java学习笔记 Java是一种流行的编程语言,广泛应用于Android应用程序开发、Web应用程序开发、桌面应用程序开发等领域。以下是Java学习笔记的摘要信息: 一、Java技术基础 * 1.1 编程语言:Java是一种面向对象的...

    JAVA学习笔记 林信良

    《JAVA学习笔记》是林信良先生的一部深入浅出的Java编程教程,旨在帮助初学者和有一定经验的开发者巩固和提升Java编程技能。这本书涵盖了Java语言的基础到高级概念,是一份宝贵的自学资料。 首先,从基础部分开始,...

    韩顺平编写的java学习笔记(全)

    ### 韩顺平编写的Java学习笔记概览 #### Java平台分类与运行机制 - **J2SE(Java 2 Platform, Standard Edition)**: 标准版Java开发平台,适用于桌面应用程序开发。 - **J2EE(Java 2 Platform, Enterprise ...

    Java学习笔记学习笔记

    Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...

    Java学习笔记(必看经典).pdf

    本知识点的标题为“Java学习笔记(必看经典)”,意味着所整理的内容是针对Java初学者的一系列核心概念和原理的总结。 首先,面向对象编程是Java语言的核心,它与传统的面向过程编程有显著的不同。面向对象编程强调的...

    Java学习笔记

    Java学习笔记 1、连接数据库步骤 2、不同数据库的驱动程序和连接字符串 3、连接数据库常见问题 4、B/S结构和C/S结构的区别 5、如何处理中文乱码问题 6、使用JavaMail发送注册验证邮件 7、不安全的用户名密码验证 8、...

    java学习笔记(全)

    Java学习笔记全集是针对Java编程语言的一份详尽的学习资料,它涵盖了从基础到进阶的各个层面,旨在帮助初学者系统地学习Java,并为有一定经验的开发者提供复习和巩固知识的平台。这份笔记主要关注Java语言的核心概念...

    Java学习笔记(必看经典).doc

    这份“Java学习笔记(必看经典).doc”文档将涵盖Java的核心概念和重要知识点,对于初学者和有经验的开发者来说都是宝贵的参考资料。 首先,Java的基础部分通常包括以下几个方面: 1. **Java语法基础**:这是所有...

    java学习笔记.zip

    java学习笔记java学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记...

    java学习笔记电子书

    本篇“Java学习笔记电子书”显然是一份详尽的资源,旨在帮助新手逐步掌握这门语言。 首先,我们要了解Java中的对象和类。在Java中,一切皆为对象,这是面向对象编程的核心理念。对象是类的实例,类则是对象的蓝图或...

    《Java学习笔记》

    这份《Java学习笔记》包含了丰富的知识内容,旨在帮助学习者全面掌握Java编程技术。笔记分为7个PDF部分,覆盖了从基础到高级的Java编程概念。 1. **Java基础知识**:这部分内容通常包括Java的历史背景、环境配置、...

    java学习笔记.pdf

    "Java学习笔记" 本资源是一个关于Java编程语言的学习笔记,涵盖了Java的基础知识、语法、数据类型、变量、类型转换等方面的内容。 标题:"java学习笔记.pdf" 描述:"想自学的小伙伴可以看俺" 标签:"Java" 部分...

    瑜琅java学习笔记

    ### 瑜琅Java学习笔记概览 瑜琅的Java学习笔记涵盖了Java的基础概念与核心特性,从起源到高级特性均有涉及。以下是对该学习笔记各部分的深入解析: #### 1. Java起源 ##### 1.1 发展背景 - Java的诞生源于Sun ...

    java学习笔记.doc

    Java 学习笔记 本资源摘要信息涵盖了 Java 编程语言的基础知识,着重于面向对象编程(OOP)的概念和实现。下面是该资源的详细知识点: 1. 面向对象编程(OOP)的基本概念: * 对象: everything is an object...

    Java学习笔记及心得

    ### Java学习笔记及心得知识点详细解析 #### 标题:Java学习笔记及心得 #### 描述:Core Java 学习笔记及心得 pdf格式可打开。涵盖了java的基础入门知识,非常适合自学的及想深入学习理解的同学。 #### 标签:...

    Java学习笔记PPT

    这份"Java学习笔记PPT"是针对Java2版本的学习资源,旨在帮助初学者或有一定基础的开发者深入理解Java的核心概念和应用。 在Java学习的初期,掌握基本语法是至关重要的。Java的语法与C++有诸多相似之处,但更加强调...

    Java学习笔记.pdf

    Java学习笔记.pdf Java 是一种广泛应用的编程语言,它的开发环境、语言特点、基础语法等方面的知识是初学者必须掌握的。本资源提供了一个系统的 Java 学习笔记,涵盖了 Java 基础、面向对象、Java SE 核心等方面的...

Global site tag (gtag.js) - Google Analytics