准备了解一下java的基本语法,以解决学习的《软件工程》《需求工程》《软件测试》《可视化》课程
学校所学mfc框架较为繁琐。
Javac 源文件,————》.class (二进制),给jvm阅读
//向主方法传入参数, 参数1 参数2...(中间用空格隔开)
Javac -encoding UTF-8 test.java
标识符和关键字 单行注释//
多行注释/* */
文档注释 /** */
标识符
由字母,数字,“_”组成,不能数字开头,不能使用java关键字
(小驼峰)
printEmployeePaychecks();
类(大驼峰):类目以大写字母开头,类名由多个单词组成,则每个单词首字母大写,源文件文件名必须与公共类(public class)的名称相同,eg: class FirstDemo
常量全大写,多个单词以下划线分割,eg :MY_STRING
数据类型
基本数据类型
(默认值为0)整形byte[ -128,127} 1字节,short,int ,long ( 8字节)
(默认值0.0)浮点型 double float
(默认值\u0000)char
(默认值false)booleam
引用类型:
数组,类,接口(默认null)
Int整数,小数double
Long一般描述日期,时间,内存,文件大小
二进制流 byte
Char 一般用于描述中文(基本忽略)
在java程序中,任何一个整型常量都是int类型
声明一个long类型常量,数字后面加上l或者L
大数据和小数据运算时,小数据类型自动转换为大数据类型,无需强制转换。
大的数据类型转为小的数据类型必须强转,可能会丢失内容。
整形常量赋值给byte变量时,若在byte范围内,无需强转
整形变量不论在不在byte类型的保存范围内,必须强转
byte b1 =120 //ok
Int num1=120;
Byte b2 =num1//错误,要强转
Byte b3=1300//错误,要强转
小数默认为double
要声明为float类型,需要在浮点数的后面加上f或者F,
Float f1=10.2F
Floaat f2=(float)10.2
所有的数据类型的默认值必须结合类来观察,主方法不存在默认值。
String 和其他类型“+”,首先会把其他数据类型变为Sting后,再做拼接。
\是转义字符,如\” 可以打出“””
| 多个表达式都需要判断
|| 短路或 。有一个返回true,剩余条件不再判断。
- >1 =1
2<<1=4
Swtich 在java中、
Switch(字符|数值|枚举|String类)
Java方法只有值传递
方法重载:
定义: 方法名称相同,参数个数或者类型不同,与返回值无关。
编码规范:重载的方法返回值一定保持相同
方法递归,--num
数组
引用数据类型,
1.数组的动态初始化
数据类型[]数组名称 =new 数据类型[长度]
Eg:
Int []data =new int [5];
数组元素通过索引完成 ,越界,抛出数组越界异常(运行时异常),
动态初始化后的数组,每个元素有其默认值。
数组名称.length
读取推荐用for -each
修改数组内容使用经典for循环
数组引用传递
Int (*x)[]=&data;(c++)
Int []x=data;(java)
引用就是:堆内存的别名,引用是4个字节,在栈上分配空间,指向一块堆内存地址。
2,数组的静态初始化
完整格式
数据类型[]数组名称 = new数据类[]{值1.值2...}
int data =new int []{1,2,3,4};
数组长度在数值定义后固定,不可变
- 二维数组
数据类型[][]数组名称=new 数据类型 [行][列]
数据类型[][]数组名称=new 数据类型{第一行的值},{第二行的值}}
数组和方法互操作
1,方法接受数组
- 方法返回数组
- 方法修改数组
数组排序
Java.util.Arrays.sort(数组名称);支持8大基本数据类型,默认升序。
数组部分拷贝
System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度)
目标数组:需要修改的数组
源数组:提取数组,不变的数组
数组全拷贝
Java.util.Arrays.copyOf (原数组名称,新数组长度) :int[]
Java类集动态扩容采用此方法