一、什么是java语言
--- 一种面向对象的语言
··· 编写程序的开始就是编写类的开始 class 用于定义类;
--- 一种与平台无关的语言,必须程序运行的解释环境
··· 真正的运行步骤为javac编译——java解释执行
--- 一种健壮【鲁棒性】的语言,吸收了C/C++语言的优点,但是去掉了影响程序健壮性的部分,例如指针、内存的申请与释放等。
常见错误
1、使用临时变量,java要求必须是先定义后使用,必须是先赋初值后使用
int k;
System.out.println(k);
2、目前的要求:将所有的程序都必须写在方法的内部,不能卸载方法外
public class Test{
int res=0;
for(int k=1;k<101;k++){
res+=k;
}
System.out.println("1+2+3+...+100="+res)
}
java的三种核心机制
JAVA语言包含三种核心机制:java 虚拟机、垃圾收集机制和代码安全检测。
Java虚拟机 JVM
--- java虚拟机可以理解成一个以字节码为机器指令的CPU
--- 对于不同的运行平台,有不同的虚拟机
--- java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
垃圾收集机制
--- 不再使用内存空间回收—垃圾回收
--- 在C/C++等语言中,由程序员负责回收无用内存
java语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分
代码安全性检查
java代码的目标运行环境在于网络,java以牺牲执行性能为代价换取了高安全性
java中标识符
--- 字母(Unicode编码字符集)、数字、下划线和$符构成,不允许数字打头
··· 严格区分大小写
··· ISO8859-1
··· GB2312和GBK【GB8030】
··· Unicode统一编码字符集
·· 由于_和$有特殊含义,一般不建议用户直接使用
·· 不建议使用中文命名
--- 不允许使用保留字(goto const)和关键字(public class static...)
--- 长度没有限制
编码规范
--- 类名首字母大写,大写字母分词 建议名词。例如UserName或者MingZi
--- 方法名称首字母小写,大写字母分词
--- 变量名称首字母小写,大写字母分词
--- 包名称全小写,使用域名反转的方式定义
在平常的练习中,我们应该遵循SUN的基本规范;项目开发中要求遵循ali发布的规范。在我们进入初入公司时,首先应该考察公司的编码规范。
Java是一种先编译后解释执行型语言
Java语法基础
--- Java大小写敏感。比如HelloWorld和Helloworld是不一样的
--- 包名Package是公司、组织、个人的域名的反转,一般是英文字母。英文字母必须是小写。
··· 包名称可以认为是一个名空间
··· 例如百度的网址为baidu.com,定义包名称为com.baidu
--- 类名ClassName和方法名称采用驼峰命名,例如StudentName
--- Java源文件的文件名必须和文件中公共public类名称一样
public class Hello{ //公共类名称为Hello,则对应的文件名称必须为Hello.java
}
--- 关键字中所有字母都为小写。关键字不能用作变量名,方法名,类名,包名和参数。
Java是一种自由格式的语言,可以用任意个空格、制表符、换行符隔开每一个词
System.
out.
println
("Counted " + count + "chars. " );
同时也允许将多行代码写在一行上,注意使用分号隔开。所有的语句末尾以分好“:”收尾。
for(int i=0;i<10;i++){cc++;dd++;}
java中空语句
;
常见的变成错误
1、初步学习阶段,应将所有的程序都必须写在main方法内部,不能写在main方法以外;
2、使用临时变量时,java要求必须是先定义后使用,必须是先赋初值后使用。
Java标识符
标识符可从一个字母(Unicode编码字符集)、下划线“_”或美元符号“$”开始,随后也可跟数字、字母、下划线或者美元符号。
标识符区分大小写,没有长度限制,可以为标识符取任意长度的名字
标识符不允许使用保留字。关键字对java编译器有特殊的含义,它们可标识数据类型名或者程序构造construct名,java语言中的保留字均用小写字母表示。
变量
变量是java程序中的基本存储单元,它的定义包括变量名、变量类型、和作用域这些部分。
例如 int k=100; 其中 int 是数据类型,k 是变量名
变量名称:在一个main方法内部不允许出现多个同名称的变量
--- java要求见名知意,例如username,但是xm(姓名)则不建议使用
变量类型
--- java属于强类型编程语言,变量类型一旦生命,则不能进行修改
--- 数据类型可以决定变量所需要的存储空间大小和对应的处理逻辑
int k; //声明一个变量,类型为整形,变量名称为k
int k=100; //声明变量的同时进行初始化
k=12.345; //语法错误,因为已经声明了类型为整形,但是12.345不是整数
d=123; //语法错误,因为Java语法要求对于变量必须是先定义后使用
作用域是指变量的有效范围,一般是所在的花括号范围内
public static void main(String[] args){
{
System.out.println(k);//错误1:要求临时变量必须是先定义后使用,必须是先赋初值后使 用
int k=100;
System.out.println(k);
}
System.out.println(k);//错误2:因为k定义在{}内部,所以k只在上面的{}分为内有效,离开了 {}则失效,{}外引用k则报错
}
public static void main(String[] args){
int k=99;
{
System.out.println(k);
int k=100; //错误:因为Java是强类型编程语言,所以在{}外已经声明了k的类型,在k的有效 范围内不允许重新声明。这里可以修改为k=100;
System.out.println(k);
}
System.out.println(k);
}
Java是强类型语言
每个变量有类型,每个表达式有类型,而且每种类型都是严格定义的
Java编译器对所有的表达式和参数都要进行类型相容性的检查,以保证类型是兼容的
short k1=123;
int k2=k1;//没有错误
任何类型的不匹配都将被报告为错误而不是警告。在编译器完成编译以前,错误必须被改正过来
String s1="123";//字符串类型
int k1=s1;//语法报错