JAVA的初步认知

 一、什么是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语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分

        配情况,并在JVM的空闲时检查并释放哪些可被释放的存储空间
--- 垃圾收集在 Java 程序原型过程中自动运行,程序员无法精确控制和干预

代码安全性检查

java代码的目标运行环境在于网络,java以牺牲执行性能为代价换取了高安全性

--- 首先由类加载器 classLoader 负责将类文件 .class 加载到 Java 虚拟机中。通过区分本地文件系统
的类和网络系统导入的类增加安全性,可以限制任何木马程序,因为本机类总是有限被加载,一旦
所有的类都被加载完毕,直线文件的内存就固定了。
--- 其次字节码校验器进行校验。字节码校验器不检查那些可信任的编译器生成的类文件,而是对
违背命名空间规定和java 语言规则的类进行检查,并且关闭具有安全性漏洞的类文件
--- 最后字节码校验通过后,才由 Java 解释器负责将类文件解释成为机器码进行执行

java中标识符

--- 字母(Unicode编码字符集)、数字、下划线和$符构成,不允许数字打头

        ··· 严格区分大小写

        ··· ISO8859-1

        ··· GB2312和GBK【GB8030】

        ··· Unicode统一编码字符集

                ·· 由于_和$有特殊含义,一般不建议用户直接使用

                ·· 不建议使用中文命名

--- 不允许使用保留字(goto const)和关键字(public class static...)

--- 长度没有限制

编码规范

--- 类名首字母大写,大写字母分词   建议名词。例如UserName或者MingZi

--- 方法名称首字母小写,大写字母分词

--- 变量名称首字母小写,大写字母分词

--- 包名称全小写,使用域名反转的方式定义

在平常的练习中,我们应该遵循SUN的基本规范;项目开发中要求遵循ali发布的规范。在我们进入初入公司时,首先应该考察公司的编码规范。

Java是一种先编译后解释执行型语言

javac Hello.java 【源代码文件名称】编译,将源代码转换为虚拟机可以识别的中间性质语言,一般生成 一个同名的后缀为class 的文件【二进制文件,字节码文件】, 这里就是跨平台的原理。
java Hello[ 类名称,就是源代码中 class 关键字后面所跟的名称 ] 一般是解释执行字节码文件


Java语法基础

--- Java大小写敏感。比如HelloWorldHelloworld是不一样的

--- 包名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;//语法报错
Java 语言数据类型可以分为两大类:基本类型和引用类型

 

基本类型(原生类型)

基本类型是指不能再分解的数据类型,其数据在函数的调用中是以传值方式工作的。
简单数据类型代表单值,而不是复杂的对象
 
Java 是完全面向对象的,但简单数据类型却不是,它们类似于其他大多数非面向对象语言中的简单
数据类型。这样做的原因是出于效率方面的考虑。在面向对象中引入简单数据类型不会对执行效率产生太多的影响。
Java 针对基本类型同时提供了对应的引用类型:包装类
Java 编程语言有八个原始数据类型,可分为 4 种整型、浮点数、字符型数据和布尔型数据,不会随着计算机类型而变化的,注意Java 具有平台无关性,所以不论硬件平台是什么, 1B 都是 8

 整形4种:byte字节整、short短整、int

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值