public class HelloWorld { //所有的 Java 程序由 public static void main(String[] args) 方法开始执行。 public static void main(String[] args) { System.out.println("Hello World"); } }
String args[] 与 String[] args 都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读。前一种主要是为了和C++对齐
两个S是都是大写 System 和String syso快捷
一个文件中可有多个类 但是应该和public声明的类保持一致
javac HelloWorld.java //如果遇到编码问题,我们可以使用 -encoding 选项设置 utf-8 来编译: //javac -encoding UTF-8 HelloWorld.java java HelloWorld环境配置—网上更详细
x64 Compressed Archive 是压缩包 一般安
- 所有的标识符都应该以英文字母,美元符( ) 、 或 者 下 划 线 ( ) 开 始 , 注 : )、或者下划线(_)开始,注: )、或者下划线()开始,注:an是合法的
- 包名 小写字母
- 类名:首字母大写,例如 MyFirstJavaClass 。
- 方法名 首字母小写驼峰式
- 普通变量 都小写,连字符连接吧
- 常量 纯大写
- 如果一个类定义在某个包中,那么 package 语句应该在源文件的首行。
如果源文件包含 import 语句,那么应该放在 package 语句和类定义之间。如果没有 package 语句,那么 import 语句应该在源文件中最前面。
类变量(静态变量)声明在类中,方法体之外,但必须声明为 static 类型。
成员变量(非静态变量)属于对象而不属于类
局部变量
Java 5.0引入了枚举,枚举限制变量只能是预先设定好的值。使用枚举可以减少代码中的 bug。
例如,我们为果汁店设计一个程序,它将限制果汁为小杯、中杯、大杯。这就意味着它不允许顾客点除了这三种尺寸外的果汁。
实例
class FreshJuice { enum FreshJuiceSize{ SMALL, MEDIUM , LARGE } FreshJuiceSize size; } public class FreshJuiceTest { public static void main(String[] args){ FreshJuice juice = new FreshJuice(); juice.size = FreshJuice.FreshJuiceSize.MEDIUM ; } }数据类型 基本数据类型
除了Sring是大写
取值范围对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。请看下面的例子:
System.out.println(“基本类型:byte 二进制位数:” + Byte.SIZE);
System.out.println(“包装类:java.lang.Byte”);
System.out.println(“最小值:Byte.MIN_VALUE=” + Byte.MIN_VALUE);
System.out.println(“最大值:Byte.MAX_VALUE=” + Byte.MAX_VALUE);
System.out.println();
默认值注 此处开头是大写
只列出比较特殊的
char ‘u0000’
String (or 任何对象) null
boolean false
引用类型需要注意的是局部变量没有默认值,必须指定。编程时候都指定值即可
对象、数组都是引用数据类型。
所有引用类型的默认值都是null。
一个引用变量可以用来引用任何与之兼容的类型。
例子:Site site = new Site(“Runoob”)。
整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。
转换从低级到高级。
注意事项
- 不能对boolean类型进行类型转换
- 不同类型的可转化,char可自动类型转换为int(通过ascii码表的值 而非本来的值)
- 不能把对象类型转换成不相关类的对象。
- 在把容量大的类型转换为容量小的类型时必须使用强制类型转换。
- 转换过程中可能导致溢出或损失精度
- 浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
1、 整数的默认类型是 int。
- 小数默认是 double 类型浮点型,在定义 float 类型时必须在数字后面跟上 F 或者 f。
比如当用到数字长度等属性时,需要对象类。如toStrng等方法
Integer x = 5;
String类----比较特殊 单独拆出来String本身就是一个对象
char和Character 不是简单的大写首字母
两种创建方式区别String本身就是一个对象
String str = "Runoob"; String str2=new String("Runoob"); String s1 = "Runoob"; // String 直接创建 String s2 = "Runoob"; // String 直接创建 String s3 = s1; // 相同引用 String s4 = new String("Runoob"); // String 对象创建 String s5 = new String("Runoob"); // String 对象创建
注意:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了。如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
+连接字符串
length()输出长度
格式化字符串
System.out.printf("浮点型变量的值为 " + "%f, 整型变量的值为 " + " %d, 字符串变量的值为 " + "is %s", floatVar, intVar, stringVar); 你也可以这样写 String fs; fs = String.format("浮点型变量的值为 " + "%f, 整型变量的值为 " + " %d, 字符串变量的值为 " + " %s", floatVar, intVar, stringVar);Java StringBuffer 和 StringBuilder 类
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
在使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行 *** 作,而不是生成新的对象,所以如果需要对字符串进行修改推荐使用 StringBuffer。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
StringBuilder sb = new StringBuilder(10); sb.append("Runoob..");
转义字符可自动扩容
Java语言支持一些特殊的转义字符序列。
符号 字符含义
n 换行 (0x0a)
r 回车 (0x0d)
f 换页符(0x0c)
b 退格 (0x08)
空字符 (0x0)
s 空格 (0x20)
t 制表符
" 双引号
’ 单引号
反斜杠
ddd 八进制字符 (ddd)
uxxxx 16进制Unicode字符 (xxxx)
访问修饰符
非访问修饰符
变量和方法:default
接口-变量都隐式声明为 public static final,
接口-方法默认情况下访问权限为 public。
请注意以下方法继承的规则:
- 父类中声明为 public 的方法在子类中也必须为 public。
- 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。
- 父类中声明为 private 的方法,不能够被子类继承。
int [] numbers = {10, 20, 30, 40, 50}; for(int x : numbers ){ System.out.print( x ); }Java Math 类
Java 的 Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
数组 数组作为函数的返回值public static int[] reverse(int[] list) { int[] result = new int[list.length]; for (int i = 0, j = result.length - 1; i < list.length; i++, j--) { result[j] = list[i]; } return result; }多维数组
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组,例如:
String[][] str = new String[3][4];日期时间类
https://www.runoob.com/java/java-date-time.html
java方法 System.out.println()println() 是一个方法。
System 是系统类。
out 是标准输出对象。
这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()。
JDK 1.5 开始,Java支持传递同类型的可变参数给一个方法。
方法的可变参数的声明如下所示:
typeName… parameterName
在方法声明中,在指定参数类型后加一个省略号(…) 。
Java 允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做 finalize( ),它用来清除回收对象。
例如,你可以使用 finalize() 来确保一个对象打开的文件被关闭了。
方法的参数(形参)传递方法的参数传递为值传递
当参数是普通类型时–易理解
当参数是引用类型时,并不能改这个对象的引用名单上方法可以调用
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)