04.Java基础语法
2024-10-09 05:30:27
一.Java源程序结构与编程规范
一个完整的Java源程序应该包含下列部分
- package语句,至多一句,必须放在源程序第一句
- import语句,没有或者若干句,必须放在所有类定义前
- public classDefinition,公共类定义部分,至多只有一个,且Java源程序文件名必须与该类名一致
- interfaceDefintion,接口定义部分,可以有0个或多个接口定义
编程规范
- 包名,全小写,可以用点分隔开
- 类名,首字母大写,多个单词的,每个单词首字母大写
- 接口名,与类名相同
- 方法名,多个单词合成,首字母小写,中间单词首字母大写
- 变量名,全小写
- 常量名,全大写
二.基本输入输出
输出:
System.out.println("Hello" + "World" + "!"); //默认换行
System.out.print("Hello" + "World" + "!"); //不换行
键盘输入:
Scanner input = new Scanner(System.in);
int x = input.nextInt();
System.out.println("输出结果为:"+x);
三.字面量
字面量直接表示一个值,可以是数值,也可以是一个字符,布尔值
数值型
长整型数值:
后面加L或l,区别其他整型值
5L 290l
浮点型数值:
后面加F或f,区别双精度
2.7f 324.2F
浮点型数值可以使用科学计数法
1.23E-7
双精度数值:
后面加D或d
23.2114d 21.4214D
八进制:
前面加0
0123
十六进制:
前面加0x或0X
0x3af
四.基础数据类型的封装
数据类型 | 对应的封装类 | 数据类型 | 对应的封装类 | |
---|---|---|---|---|
boolean | Boolean | int | Integer | |
byte | Byte | long | Long | |
char | Character | float | Float | |
short | Short | double | Double |
Java是面向对象语言,基本的数据类型有时也要用其对象来处理,如在进行抽象数据类型字符串,与其他的基本数据类型之间进行转换时。
使用与基本数据类型对应的类,可以创建一个对象来保存同一个值。
float fnum1 = 12.56f;
double dnum2 = 12.5;
String str = "34.89";
Float obj1 = new Float(fnum1);
Float obj2 = new Float(dnum2);
Float obj3 = new Float(str);
Float obj4 = new Float(2.34f);
五.运算符
逻辑运算符
非短路运算符
逻辑与 |
逻辑或 &
短路运算符
逻辑与 || (左边逻辑值为假,右边不再计算)
逻辑或 && (左边逻辑值为真,右边不再计算)
对象运算符instanceof
用于测定一个对象是否属于某个指定的类或其子类的实例
boolean b = student instanceof people;
六.Java文档注释
当程序员编写完程序之后,可以通过jdk提供的javadoc命令,生成所编程序的API文档,该文档主要内容就是从文档注释中提取的。以HTML格式出现,与Java帮助文档格式一致。
格式/** */
在命令行运行Javadoc -d. Doc.java生成注释文件
七.带标号的continue语句
continue lable1;
带标号的continue语句,使流程直接转入标号指明的循环层,类似goto语句,但是不推荐使用
八.数组
一维数组
数组的声明
//datatype [] arrayName;
int [] mathScore;
申请空间,定义大小
//arrayName = new datatype[numberOfArrayElement];
mathScore = new int[10];
初始化
静态初始化
//datatype [] arrayName = {value1,value2,value3....};
int [] mathScore = {1,2,3,4};
动态初始化
先声明和定义数组,然后再赋值
//简单类型
int [] intArray = new int[5];
intArray[0] = 1;
intArray[1] = 2;
...
//复杂类型
String [] stringArray = new String[3];
stringArray[0] = new String("hello");
stringArray[1] = new String("world");
...
数组元素的引用
arrayName[index];
foreach循环
for(type variableName : array | collection){
}
//示例
int [] mathScore = {1,2,3,4};
for(int student : mathScore){
System.out.println(student);
}
二维数组
Java允许生成具有不同长度的多维数组
int [][] nArray = {{1,2,3},{4},{5,6,7,8}}
int [][] samArray = new int [3][];
samArray[0] = new int [3]; //第一行元素个数为3
samArray[1] = new int [4]; //第二行元素个数为4
samArray[2] = new int [5]; //第三行元素个数为5
九.字符串类
String类
String类构造方法
String() //创建空的字符串对象
String(String value) //参数可以是引用或字符串
String(char [] value) //用字符数组内容初始化
//示例
String s2 = String("java");
String s2 = String(s1);
字符串操作
charAt(int index) //获得指定位置字符
length() //求字符串长度
...
StringBuffer类
StringBuffer类表示的是可以修改的字符串
StringBuffer类构造方法
StringBuffer(String str)
//与String不同,不能定义StringBuffer类型的变量,如
//StringBuffer str = "This is StringBuffer";是不允许的
对字符串的修改
添加操作
append()
插入操作
insert()
删除
delete(int start,int end)
deletCharAt(int index)
替换
replace(int start,int end,String [] args)
最新文章
- localStorage使用
- ASP.NET MVC 4 的JS/CSS打包压缩功能-------过滤文件
- 清北暑假模拟day1 艳阳天
- [Linux] CentOS 加入开机启动
- Java for LeetCode 072 Edit Distance【HARD】
- USACO Section 3.2 香甜的黄油 Sweet Butter
- 重写 libev 的 EV_WIN32_HANDLE_TO_FD
- 如何去掉IE控件的垂直滚动条(使用QAxWidget加载IE控件)
- EntityFrame Work 5 性能注意事项(转自MSDN)
- 在 sublime text 上添加 Package Control
- 开源作业调度工具实现开源的Datax、Sqoop、Kettle等ETL工具的作业批量自动化调度
- git-分支使用方式
- mybatis与spring的整合(使用接口实现crud)
- Python调用ansible API系列(五)综合使用
- Python开发【第五篇】内置函数
- Python设计模式 - UML - 通信图(Communication Diagram)
- charles License
- QMessageBox的使用
- win10 php7.2 nginx 安装 imagick,适用于phpstudy
- UI移动设备屏幕知识
热门文章
- Django之forms.Form
- charme浏览器 jquery1.9.1min.js 报脚本错误 无jquery.min.map 文件
- 阿里面试官必问的12个MySQL数据库基础知识,哪些你还不知道?
- 201771010128王玉兰《面向对象程序设计(Java)第十四周学习总结》
- 从零开始搭建一个PaaS平台 - 我们要做什么
- 将BeyondCompare设置为TortoiseSVN的扩展比较工具
- MyBatis中的命名空间namespace的作用
- 【转】从一副扑克牌中随机抽取N张
- java方式实现选择排序
- Orcle 查询语句