系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、Java类的结构
1.Java貌似只有.java源文件文件,没有.h头文件
类似于C中的#include<xxx.h>和xxx.lib,又或者是C++中的#include<xxx.h>、using xxx和xxx.lib????---------------------不知道这样说对不对,有待考证!!!
代码如下(示例):
package com.ff; //在当前工程的src/com/ff文件下,有一个first.java的文件,也不是一定需要这个,
//这个first的类属于包package com.ff
//以下是导入JDK的API类库(有130多个包)
import java.lang.*;//导入JDK的API中java.lang包里面所有的类,为了少写代码
//import java.lang.Boolean;//导入JDK的API中java.lang包里面名叫Boolean的类
public class first {
int a = 123;//全局变量(成员变量)
//方法
public void show() {
int b = 456;//局部变量
System.out.println("com.fangcen.first is show!");
}
}
2.JDK编译出来就只有.class的字节码文件,之后通过JVA(Java虚拟机)解释运行。
3.所有的东西都要在类中,包括什么结构体,枚举、函数(方法)、宏等等------有待考证!
二、数据类型
1.总括
2.基本数据类型注意事项
- 数值型
1.1 Java没有无符号的类型,都是有符号的;
1.2 赋值的时候,右侧的数据默认是int型,注意和左边的类型是否一致
long num = 2149737387388; //错误的,2149737387388超过了int的范围
long num = 2149737387388L/l;//正确的,2149737387388L/l强制将2149737387388变成long
- 字符型
2.1 用两个字节表示,和C/C++不一样
2.2 转义字符也就只有表示一个字符,不要看到多就吓到了
package Number;
public class First {
public static void main(String[] args) {
// TODO Auto-generated method stub
char x = 'a'; //代表两个字节,c/c++是一个字节
char c1 = '\\'; //看起来是两个字符,但是其实不然,是一个,不然就用""来表示了
char char1 = '\u2605'; //看起来这么多,其实也就是一个字符
System.out.println(x);
System.out.println(c1);
System.out.println(char1);
char $$$ = 'o';
System.out.println($$$);
}
}
- 重要知识点
对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。请看下面的例子:
public class PrimitiveTypeTest {
public static void main(String[] args) {
// byte
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();
// short
System.out.println("基本类型:short 二进制位数:" + Short.SIZE);
System.out.println("包装类:java.lang.Short");
System.out.println("最小值:Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("最大值:Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();
// int
System.out.println("基本类型:int 二进制位数:" + Integer.SIZE);
System.out.println("包装类:java.lang.Integer");
System.out.println("最小值:Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("最大值:Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();
// long
System.out.println("基本类型:long 二进制位数:" + Long.SIZE);
System.out.println("包装类:java.lang.Long");
System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();
// float
System.out.println("基本类型:float 二进制位数:" + Float.SIZE);
System.out.println("包装类:java.lang.Float");
System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("最大值:Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();
// double
System.out.println("基本类型:double 二进制位数:" + Double.SIZE);
System.out.println("包装类:java.lang.Double");
System.out.println("最小值:Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();
// char
System.out.println("基本类型:char 二进制位数:" + Character.SIZE);
System.out.println("包装类:java.lang.Character");
// 以数值形式而不是字符形式将Character.MIN_VALUE输出到控制台
System.out.println("最小值:Character.MIN_VALUE="
+ (int) Character.MIN_VALUE);
// 以数值形式而不是字符形式将Character.MAX_VALUE输出到控制台
System.out.println("最大值:Character.MAX_VALUE="
+ (int) Character.MAX_VALUE);
}
}
三、标识符、命名规则、关键字
1.标识符
简单的说,Java中凡是可以由程序员自己起名字的都叫标识符。其涉及到的结构有:包名、类名、接口名、变量名、方法名、常量名。
① 由26个英文字母大小写,0-9,_ 或 $ 组成。
② 数字不可以开头。
③ 不可以使用关键字(class、int等)和保留字(goto和const),但能包含关键字和保留字。
④ Java中严格区分大小写,长度无限制。(例:class×,Class√)
⑤ 标识符不能包含空格。
2.命名规则
标识符 | 规则 | 例子 |
---|---|---|
类名 | 通常使用名词 ,所有单词首字母大写 | PandaFamily |
方法名 | 通常使用动词开头 ,首字母小写,后续单词首字母大写 | openDoor() |
变量名 | 首字母小写,后续单词首字母大写 | sisterName |
常量名 | 所有字母大写 | GENDER |
3.关键字
eclipse中显示红色的都是关键字。
四、变量和常量
1.变量
内存中分配一段空间,同时空间内的值可以变化,这段空间就被称为变量,给这段空间取个名字就叫做变量名,这段空间内的值就是变量值。----------多么完美的回答!!!!!!!
- 定义性声明
在定义性声明变量时可以赋值,也可以不赋值,但是在使用该变量前,要赋值,还有就是可以用中文名命名变量,因为java是unicode编码!
int tt2;
tt2 = 3;//没有这句话就会报错
System.out.println(tt2);
- 分类和有效范围
① 成员变量:类体中定义的变量,包括static静态变量(类变量)和实例变量
class var{
int x = 45;//实例变量
static int y = 90;//静态变量,可以在类体外使用,“类体.静态变量”,注意和“对象.实例变量”
//的区别,静态变量不属于某个对象????
}
② 局部变量:方法体中定义的变量,只在方法中有用,出了它就通过垃圾回收机制销毁了, 同时,成员变量和局部变量可以重名,但是方法中会使用局部变量,成员变量被隐藏。
2.常量
- 分类
常量有三种类型:静态常量、成员常量和局部常量!
静态常量(public static 修饰的)作用域是全局的,定义的时候就要赋值,不需要创建对象就可以访问它,在类外部访问形式为 HelloWorld. PI。这种常量在编程中使用很多。
成员常量,作用域类似于成员变量,但不能修改,定义的时候就要赋值
局部常量,作用域类似于局部变量,但不能修改,定义性声明的时候可以不复制,后面的话再赋值,但是只能一次!!!
public class HelloWorld {
// 静态常量
public static final double PI = 3.14;
// 声明成员常量
final int y = 10;
public static void main(String[] args) {
// 声明局部常量
final double x = 3.3;
}
}
五、运算符
六、数据类型转换
1.隐式类型转换
小------->大,不用加强制转换
2.显式类型转换
大------->小,加强制转换,而且精度会丢失
七、代码注释和编码规范
总结
以上就是对Java语言基础部分的第一部分。后续是流程控制、字符串、数组、类和对象、包装类、数字处理类…的学习。