//代码规范
①.类、方法的注释,要以javadoc的方式来写
②非javadoc的注释,往往是给代码维护者看的,着重讲述读者为什么这样写,如何修改,注意什么问题等。
③tab操作:选中,然后tab键盘,整体右移
选中,然后shift+tab,整体左移
④运算符和”=“两边习惯性加一个空格
⑤源文件使用utf-8编码
⑥一行不超过80个字符
//DOS命令 磁盘操作系统
- 相对路径:从当前目录(文件夹)开始定位形成的一个路径
- 绝对路径:从顶级目录(如d盘)开始定位,形成的路径
- ..\即到上一级目录
DOS指令:1.查看当前目录是有什么内容:dir d:\abc2\test200
2.切换到其他盘下:盘符号:cd (cd /D c:)
3.切换到当前盘的其他目录下
4.切换到根目录 cd
//多行注释快捷键:crtl+\ (再次输入 取消注释)
一.功能的最小单元----一个一个的方法:特定任务的操作或代码块
public class Hello{
public static void main(String【】 args){//程序的入口 void为无返回值
System.out.println(" ");
System.out.println(sum(1,2));
}
public static int sum(int a,int b){
return a+b;//方法体
} //方法
}
方法重载:同一个类中,出现多个方法的名相同,但是他们的形参列表是不同的,与返回值无关
无返回值的方法中可以直接通过return立即结束当前方法的执行
二.基本语法
1.注释 (解释代码,不影响程序执行)编译后去掉了注释,即class文件中没有注释
(1)单行注释 //
(2)多行注释 /* */
(3)文档注释 /**
*
*/ 一般用在类、方法、成员变量上
注释内容可以被jdk提供的javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档
例:
/**
*@author 小明
*@version 1.0
*/
javadoc标签:
标明一个类的作者:@author
指明一个过期的类或成员:@deprecated
指明当前文档根目录的路径:{@docRoot}
指明一个类抛出的异常:@exception
从直接父类继承的注释:{@inheritDoc}
......
2.字面量(程序中的书写格式)
①整型:1int
②浮点型(小数):1.3 double(8字节) float (4字节) [java的浮点型常量默认为double型,声明float型常量,其后需加f或F 通常使用double(更精确)
double num = 8.1 / 3;---------结果为接近2.7的小数
比较(8.1/3)与(2.7)是否相等:Math.abs(num2-num1)<某个精度范围 即相等
.123(可省略0.但不能省略小数点)
科学计数法:5e3
③布尔型:true/false
④字符型 char(2个字节) 单个字符 char的本质是一个整数 char c1 = 'a';-----System.out.pritln((int)c1)----97
char字符可以参与运算
⑤转义字符 \t \n \r ......
3.变量(内存中的一块区域,装程序要处理的数据)
- 格式:数据类型 变量名称 = 数据;(= 为赋值)
-
变量里装的数据可以替换
变量里数据的存储原理:二进制(逢2进1)字符存的是对应的ascii码值(转换为二进制)
4.类型转换
- 自动类型转换:类型范围小的变量,可以直接赋给类型范围大的变量 (byte-short-int-long-float-double)(char-int-long-float-double)
- 强制类型转换:范围大的变量到范围小的变量 类型 变量2 = (类型)变量1;
***当有多种类型的数据混合运算时,系统首先将所有的数据转换成容量大的那种数据类型,然后再进行运算。
****(byte、short)与char不会相互自动转换
****byte,short,char三者可以计算,在计算时首先转换成int(不管是单独类型运算还是混合运算,都将转换成int)
***boolean不参与运算
****表达式结果的类型自动提升为操作数中最大的类型
****强制类型转换使用时加上(),但可能造成精度损失或溢出
****强转符号()只针对最近的操作数有效
5.基本数据类型与字符串的转换
- 基本数据类型转字符串:String s1 = n1 + " ";
- 字符串转基本数据类型:String s2 = "123"; int num = Integer.parseInt(s2);
- 怎么把字符串转成字符char(含义是指把字符串中第一个字符得到)System.out.println(s.charAt(0));--->得到字符‘1’
6.运算符
- 算数运算符
- 逻辑运算符 (boolean) ------------默认为false
- 关系运算符boolean
- 赋值运算符:&与(全1为1) | 或(全0为0) !非 ^异或 双与&&(短路与)左边为false 右边不执行 双或||(短路或)左边为true 右边不执行
- 三元运算符 a>b?a:b
*****运算符优先级(只有单目运算++a和赋值运算的运算方向为从右向左)
按位异或:相同为0 相反为1
7.原码、反码、补码
①二进制的最高位是符号位 0表示正 1表示负
②正数的原码,反码,补码都一样
③负数的反码=他的原码符号位不变,其他位取反
④负数的补码=他的反码+1;负数的反码=负数的补码-1;
⑤0的反码、补码都是0;
⑥java没有无符号数
⑦在计算机运算时,都是以补码的方式来运算的
⑧当我们看运算结果是,要看它的原码
8.输入输出
- 输出:System.out.println(" ");
- 输入:*****(固定语句:)Scanner input = new Scanner(System.in);
int s = input.nextInt();//接收用户输入的
String s = input.next();
9.进制
- 二进制
- 八进制
- 十进制
- 十六进制 (0x或0X开头)
三.程序流程控制
- 顺序结构:程序从上到下逐行的执行
- 分支结构(if switch)
int c = 5;
swith(c){
case 2 :
System.out.println("ok1");
break;//如果没有break,程序将会继续向下执行
case 5:
System.out.println("ok2");
break;
default :
System.out.println("ok3");
break;
}
***swith(表达式)中表达式的返回值必须为(byte short int char enum String)
- 循环结构(for while do-while)
- break:终止当前循环,跳出循环体,继续执行循环之后的代码
- continue:跳过当前迭代的剩余代码,直接进入下一次循环的条件判断
- return:跳出所在方法(若return写在主方法里,则为退出程序)
四.数组
可以存放多个同一类型的数据
数组动态初始化:int a[ ] = new int[5]; 分配存储空间,可以存储内存
a.length表示数组长度
public class suijishu{
public static void main(String[] args){
double score[] = new double[5];
Scanner sc = new Scanner(System.in);
for(int i = 0 ; i < 5; i ++){
System.out.println("请输入第"+(i+1)+"个元素");
score[i] = sc.nextDouble();
}
}
声明数组:int a[ ]或 int [] a; 并未分配空间