Java学习笔记 day02

来源:互联网 发布:linux操作系统原理pdf 编辑:程序博客网 时间:2024/04/30 20:18

JAVA语言基础组成:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组

高级语言基础学习的核心:表现形式以及什么时候使用

**关键字:**  · 用于定义访问权限修饰符的关键字:private     protected     public  · 用于定义类,函数,变量修饰符的关键字:abstract     final     static     synchronize  · 用于定义类与类之间关系的关键字:extends     implements  · 用于定义建立实例及引用实例,判断实例的关键字:new     this     super     instanceof  · 用于异常处理的关键字:try     catch     finally     throw     throws  · 用于包的关键字:package     import  · 其他修饰符关键字:native     strictfp     transient     volatile     assert注意规范:关键字都是小写
**标识符:**  · 在程序中自定义的一些名称  · 由26个英文字母大小写,数字:0-9,符号:_ $ 组成  · 定义合法标识符规则:     1.数字不可以开头     2.不可以使用关键字  · Java中严格区分大小写  · 注意:在起名字时,为了提高阅读性,要尽量有意义
**注释:**  · 作用:注释和调试  · Java中的注释格式:     · 单行注释:   //注释文字     · 多行注释:  /*注释文字*/     · 文档注释:  /**注释文字*/  · 文档注释中的内容可以通过javadoc.exe程序进行提取,生成说明书(把文档注释和源代码放进一个网页文件中)  · 注意:写项目或者上机面试时必须写注释表示规范
**注释规范(编写代码前先写多行注释):**/*需求:练习一个hello world程序思路:     1.定义一个类,因为java程序都是以类的形式存在的,类的形式其实就是一个字节码文件最终体现     2.定义一个主函数,为了让该类可以独立运行     3.因为演示hello world,在控制台上看到该字样,所以需要使用输出语句完成步骤:     1.class关键字来完成类的定义,并起一个阅读性强的类名     2.主函数:public static void main(String[] args)这是固定格式,jvm认识     3.使用输出语句:System.out.println("hello world!");*/class Demo{     //定义一个主函数,保证程序的独立运行     public static void main(String[] args )     {          system.out.println("hello world!");//输出语句,将括号中的数据打印到控制台上,ln可以在数据的结尾处换行     }}
**常量:**  · 常量表示不能改变的数值  · java中常量的分类     1.整数常量  所有整数     2.小数常量  所有小数     3.布尔(boolean)型常量,较为特有,只有两个数值 true false     4.字符常量,将一个数字字母或者符号用单引号('')标识     5.字符串常量,将一个或者多个字符用双引号("")标识     6.null常量  只有一个数值就是null
**进制:**  · byte字节单位=8个二进制位(1byte=8bit)  · 八进制:三个二进制位为一组  (0256=010-101-110B)  · 十六进制:四个二进制位为一组  (0x256=0010-0101-0110B)  · 6在内存中表示为 0000-0000 0000-0000 0000-0000 0000-0110  32位  · -6在内存中的表示为 1111-1010  (这个数的正数二进制取反加1)
**变量:**  · 概念:    · 内存中的一个存储区域    · 该区域有自己的名称(变量名)和类型(数据类型)    · 该区域的数据可以在同一类型范围内不断变化  · 作用:用来不断地存放同一类型的常量,并可以重复使用  · 使用变量时注意:     · 变量的作用范围(一对{}之间有效)     · 初始化值  · 定义变量的格式:数据类型 变量名=初始化值;
**数据类型(整数默认 int  ;  小数默认 double):**  · 基本数据类型(8种):     1.数值型:       · 整数类型(byte,short,int,long)       · 浮点类型(float,double)     2.字符型(char)     3.布尔型(boolean)  · 引用数据类型:     1.类(class)     2.接口(interface)     3.数组([])注意:  · byte取值范围(8个二进制位):-2^7~2^7-1(-128~127)   · short取值范围(16个二进制位): -2^15~2^15-1   · int类型的取值范围(32个二进制位):-2^31~2^31-1   · long取值范围(64个二进制位)  · float(4个字节表示)  · double(8个字节表示)  · char的取值范围(2个字节): 0~65535
**类型提升和强制转换:**  · int x=3; byte b=5; x=x+b  //byte类型会自动提升,即自动补充三个字节  · byte b=3; b=(byte)(b+4);  //'4'默认int类型,所以必须进行强制类型转换;原则是舍弃高位的三个字节,如0000-0000 0000-0000 0000-0001 0000-0110会变成0000-0110,如果高位非0将会造成精度损失注意:强制转换是高字节向低字节转换,比如int强制转换为byte类型;强制转换两边必须是数值型特殊情况:  System.out.println('a'+1);//输出结果为98,'a'根据ASCII转换为97,然后与1相加  System.out.println((char)('a'+1));//输出结果为b面试题:  byte b=4; b=3+7;  //输出结果 10  byte b=4; byte b1=3; byte b2=7; b=b1+b2; //输出报错,显示可能丢失精度;原因:4、3、7是int型,强转为byte型,关键是b1、b2是变量不能检查范围,有可能超出byte取值范围造成精度丢失  int x; int x1=Integer.MAX_VALUE; int x2=2; x=x1+x2; //输出结果为-2147483647; Integer.MAX_VALUE为int型最大取值,超出32位的被舍弃
**运算符:**  · 算术运算符:     · + 、 - 、 * 、 / 、 % (取余,模运算 ; 任何数与2进行模运算结果不是0就是1,可以利用这个特点进行开关操作)     · + (连接符)  System.out.println("5+5="+5+5)  //输出结果为 5+5=10     · ++ 、 --  int a=3,b; b=a++;  //a先在内存中预存3,然后将原先的a+1即4赋值给内存;将预存的3赋值给b
0 0