《Java从入门到精通》第三章学习笔记
来源:互联网 发布:地板 知乎 编辑:程序博客网 时间:2024/05/22 14:11
第3章 Java语言基础
一、标识符和关键字
1、Java中的标识符用于标识类名、变量名、方法名、数组名、文件名。
2、标识符的命名规则:由字母、数字、下划线和美元符号组成,但第一个字符不能是数字。同时标识符不能选用Java的关键字和保留字。
3、一般的约定命名规则:
(1)类和接口名:每个词首字母大写,如MyClass,HelloWorld;
(2)方法名:第一个词的首字母小写,其余词首字母大写,尽量少用下划线,如myMethod,myGetData;
(3)常量名:基本数据类型的常量名全部用大写字母,各词之间用下划线分隔,如SIZE_NAME;
(4)变量名:首词首字母小写,其余词首字母大写,不用下划线,尽量少用美元符号。
二、基本数据类型
1、整数类型:有byte\short\int\long四种,存储空间分别为1、2、4、8个字节,其中给long类型变量赋值时必须在结尾加L或l,如:long BigNumber=1234567L。
2、浮点类型:有float单精度和double双精度两种,分别占4、8个字节。其中float类型变量赋值时结尾必须加F或f。
3、字符类型:使用char进行声明,占用两个字节。
4、布尔类型:使用boolean进行声明,只能由true和false两个值。
三、变量和常量
1、变量的有效范围(作用域)
(1)在类体中定义的变量被称为成员变量,成员变量在整个类中都有效。类的成员变量分为静态变量和实例变量,静态变量通过修饰符static确定,并且可以通过“类名.静态变量名称”的方式在其他类中使用。
class var{ int x=3; //这里定义了var类的一个实例变量x static int y=30; //这里定义了var类的一个静态变量y}class bar{ int a=var.y; /*定义bar类的实例变量a,并把var类中静态变量y的值赋值给a*/}
(2)在类的方法体中定义的变量为局部变量,只在当前代码块中有效,其生命周期只在该方法被调用时,虚拟机为其分配内存空间,方法调用结束后,则该内存也被释放。
(3)在类中某一方法体内,可直接使用类体创建的静态变量,当该静态变量与该方法体中创建的局部变量重名时,静态变量将被隐藏,如果须调用该类体静态变量时,需使用“类名.静态变量名称”的方式。
注:经测试,类体中的实例变量无法在方法中使用。
public class Number { static int mydata=414; static int yourdata=1973; public static void main(String[] args) { int mydata=1314; System.out.println("类体静态变量mydata的值是"+Number.mydata); System.out.println("类体静态变量yourdata的值是"+yourdata); System.out.println("方法内部的局部变量mydata的值是"+mydata); }}/*输出----------类体静态变量mydata的值是414类体静态变量yourdata的值是1973方法内部的局部变量mydata的值是1314----------------*/
四、运算符
异或的应用范例:不使用辅助变量实现两变量的值互换
import java.util.Scanner;public class Nexchange { public static void main(String[] args){ Scanner scan=new Scanner(System.in); System.out.println("请输入变量A的值"); long A=scan.nextLong(); System.out.println("请输入变量B的值"); long B=scan.nextLong(); System.out.println("A="+A+"\tB="+B); System.out.println("执行变量互换..."); A=A^B; B=B^A; A=A^B; System.out.println("A="+A+"\tB="+B); }}/*这里运用了位操作异或,对于整数X有:X^X=0;X^0=X;同时异或操作满足结合律和交换律将A=A^B带入后面两式,分别如下:B=B^A=B^A^B=A^(B^B)=A^0=A;A=A^B=(A^B)^A=...=B;----------引申:除异或方法外,不通过辅助变量的方法还有:(1)a=a+b;b=a-b;a=a-b;(2)a=a*b;b=a/b;a=a/b;*/
五、实例
1、判断某一年是否为闰年
import java.util.Scanner;public class LeapYear{ public static void main(String[] args){ Scanner scan=new Scanner(System.in); System.out.println("请输入年份(0~99999):"); long year=scan.nextLong(); while (year<0||year>99999){ System.out.println("请重新输入年份(0~99999):"); year=scan.nextLong(); } scan.close(); if((year/400==0)||((year/4==0)&&(year/100!=0))){ System.out.println("输入年份为"+year+"是闰年"); } else { System.out.println("输入年份为"+year+"不是闰年"); } }}
2、不使用乘号运算符,用移位运算符计算21*16。
public class MoveBit { public static void main(String[] args){ long a=21L; int x=1; for(int i=1;i<5;i++){ x*=2; a=a<<1; System.out.println("21左移动"+i+"位就是乘以"+x+"结果为"+a); } }}
- 《Java从入门到精通》第三章学习笔记
- Java从入门到精通第三章笔记
- java从入门到精通——第三章学习笔记
- 《Java从入门到精通》学习笔记
- 《JAVA从入门到精通》学习笔记1-9章
- 《JAVA从入门到精通》学习笔记10-12章
- 《Java从入门到精通》第一、二章学习笔记
- 《Java从入门到精通》第四章学习笔记
- 《Java从入门到精通》第五章学习笔记
- 《Java从入门到精通》第七章学习笔记
- 《Java从入门到精通》第八章学习笔记
- java学习笔记《java从入门到精通》
- 孙鑫视频教程《Java从入门到精通》学习笔记
- jQuery从入门到精通(学习笔记)
- 《Java Web从入门到精通》-笔记
- 《java从入门到精通》-笔记
- Java 从入门到精通 笔记一
- Java学习从入门到精通
- gem5 Multiprogrammed workloads in se mode
- MP4文件格式解析 之 二 (Sample table atom )
- Struts2的安装
- access 报表 分组分页的方法研究
- leetcode--Balanced Binary Tree
- 《Java从入门到精通》第三章学习笔记
- 元表 理解
- [C++11] lambda表达式
- kafka分区原理图
- vc将对话框缩小到托盘
- 进阶之路--电话拨号、发送短信--Intent和布局技术
- 【Android UI设计与开发】第04期:引导界面(四)仿人人网V5.9.2最新版引导界面
- iOS 开发照片方向问题
- java之链表反转