Java-SUN

语言平台J2SE(桌面) ,J2ME(移动被安卓所取代),J2EE(企业主要用于web)

1.跨平台(操作系统)原理:

在任意操作系统上运行,一次编写到处运行。

依赖JVM(Java Virtual Machine)(不同系统Windows,Linux,mac有自己对应的JVM)

2. JRE和JDK

In a word,使用JDK开发完成的Java程序交给JRE运行

JRE(Java运行环境)

包括JVM和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,只需安装JRE就好了。

JDK(Java开发工具包)

让Java开发员使用的工具,包括了JRE(所以安装了JDK就不需要单独装JRE了)其中的开发工具包扩编译工具和运行工具。

3. 程序运行的流程

源文件program.java--------编译器------字节码文件program.class------解释器-------(能让机器识别的101001001001)program

4.注释

--单行注释: // .........

--多行注释 : /* ........... */

--文档注释 : /** ............ */

5.关键字

Java中特定含义的字符

特点:

1.组成关键字的字母全部小写

2.常见的代码编辑器对关键字有特殊颜色的标记。

例如:class,new,this等

6.变量(内存中最小的容器)

内存中的一小块区域:在程序执行的过程中,在某个范围内值可发生改变

组成:

1.对区域要有限定:数据类型

2.区域要有名称:变量名

3.区域必须有内容:初始化值

数据类型 变量名=初始化值(int a=0;)

7.计算机存储单元

·无论内存还是硬盘,计算机存储设备的最小信息单元是 位(bit)(又叫比特位),用b表示

·计算机最小的存储单元是 字节(byte),用B表示

(通常1个字节由连续的8个位表示)

8.数据类型

数据类型由基本数据类型和引用数据类型构成。

1.基本数据类型有四类八种

数值型(整型(byte,short,int,long),分别占用1.2.4.8字节

浮点型(float,double)),分别占用4,8字节

科学计数法E

字符型(char), 占用2字节

布尔型(boolean)构成true 或false。 占用1字节

注意:

(1)整型默认类型是int,浮点型默认double

(2)定义long类型数据时要加L或l,建议加L;

例如:long l=100000000000000L;

不加L可能报错,数字过大;(因为默认是int,而int只有四个字节)

(3)定义float类型数据时要加F或f,建议加F。

例如:float f=12.34F

不加F可能报出损失精度;(因为默认是double,double有八个字节,要说明float的四个字节则用F标记出来)

2.引用数据类型有类class,接口interface和数组[ ]

9标识符

给包,类,方法,变量等起名字

组成规则:由字符,下划线_,美元符$组成

注意:

(1)这的字符是Unicode字符集,包含英文大小写字母,中文字符(但一般不建议用汉字)和数字

(2)不能以数字开头

(3)不能是Java中的关键字

命名规则:见名知意

--常见规则

·包(文件夹)

全部小写,多级包名用点隔开; 如com.edu.demo

·类

一个单词的首字母大写;如StudentCat

多个单词,每个单词首字母大写,如HelloWorld

·变量/方法

一个单词首字母小写,如age.show();

多个单词,从第二个单词开始每个单词首字母大写maxAge.getAge(),或者setAge

10变量的定义和使用

·八种基本数据类型变量的定义

byte b=10;

short s=100;

int i=100;

long l=10000000000L;

float f=12.34F;

double d=12.34;

char c='s';

boolean bol=true;

·注意事项:

(1)变量未赋值,不能直接使用

即要使用(操作)之前,必须要有值;

(2)变量只在其所属范围(即所属的那对大括号)内有效

{int c=50;

}

System.out.println(c);

会报错,找不到c

(3)可以在同一行定义多个变量

int a,b;

a=0;

11类型转换

1.运算

------一般要求参与运算的数据的类型必须一致

但是举一例子如下

byte b=1;

int a =3;

System.out.println(a+b);

明显结果是可以输出的,a+b所得类型是可以接受的

思考:一般而言要求相加类型一致,而此处不一致why?又用什么类型来接收呢?

回答:

byte c=a+b; 报错

int c=a+b;可以直接输出

若用byte来接收会报错(损失精度);但用int 类型来接收就可以了

这就引出了一个问题-----类型转换

2.隐式转换

含义:若有长字节的类型数据参与运算时,先转换成长字节类型参与运算,因为长字节可以接受短字节,但短字节不能接受长字节

即所谓默认转换-----短字节可以自动默认转换成长字节

顺序如下:

------byte,short,char--->int--->long--->float--->double

举例:byte,short,char之间不能相互转换,参与运算首先转化为int类型

换句话说,即byte,short,char三种类型数据参与运算时,可以直接输入结果,但若用其他类型数据来接收时,应用int类型

byte a=1;

char b=2;

int c=a+b;

print(c);用整型来接收并输出是可行的或者直接输出a+b也可。

3.特别注意boolean类型不能转换为其他数据类型

4.强制转换

------目标类型 变量名 = (目标类型)(被转换的数据)

举例:

byte b=10;

int a=20;

int c=a+b;

明显此处作了一个类型提升,但是我们发现c=30,而明显byte范围内即可表示,但是默认(隐式)转换成了int

自然也可以强转成byte:byte c=(byte)(a+b)

但是建议:数据运算结果,应该是什么类型,就用什么类型接收,不要随意强转,可能会损失精度

java中字母用什么单词赋值_Java初学相关推荐

  1. java中String new和直接赋值的区别

        Java中String new和直接赋值的区别     对于字符串:其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)才 ...

  2. java中常见的英语单词

    abstract (关键字)             抽象 ['.bstr.kt]  access                            vt.访问,存取 ['.kses]'(n.入口 ...

  3. java中3.14是什么符号_java中3.14f是什么意思 C++问题下列选项中属

    这个是浮点型数据的表示方法. 在定义变量,给变量赋值的时候,float类型后面可以跟一个f来表示这个数值是浮点型的. double类型的数据后面可以跟一个d表示数值是double类型(双精度类型)的. ...

  4. java中final是修饰符么_Java final修饰符详解

    final 在 Java 中的意思是最终,也可以称为完结器,表示对象是最终形态的,不可改变的意思.final 应用于类.方法和变量时意义是不同的,但本质是一样的,都表示不可改变. 使用 final 关 ...

  5. java中6与3等于几_Java(六)

    接口 一.语法: public interface 接口名{ public void foo(): } 二.特征 1.接口不可被实列化 2.实现类必须实现接口所有方法 3.实现类可以实现多个接口 4. ...

  6. java中定义类的关键字是_java中定义类的关键字是什么?

    java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...

  7. java中的常用的文件流_Java 基础(四)| IO 流之使用文件流的正确姿势

    image.png 一.什么是 IO 流? 想象一个场景:我们在电脑上编辑文件,可以保存到硬盘上,也可以拷贝到 U 盘中.那这个看似简单的过程,背后其实是数据的传输. 数据的传输,也就是数据的流动.既 ...

  8. java中四种常用的引用类型_java中四种引用类型

    JDK.1.2 之后,Java 对引用的概念进行了扩充,将引用分为了:强引用(Strong Reference).软引用(Soft Reference).弱引用(Weak Reference).虚引用 ...

  9. java 中对象引用,以及对象赋值

    Java对象及其引用 Java对象及引用是容易混淆却又必须掌握的基础知识,本章阐述Java对象和引用的概念,以及与其密切相关的参数传递. 在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分 ...

最新文章

  1. MLPerf Inference 0.7应用
  2. 人群密度估计--CrowdNet: A Deep Convolutional Network for Dense Crowd Counting
  3. 最高补助1000万元!这类程序员2020年要过好日子了……
  4. python题目关于企业利润_【每日一练】巧用python实现利润计算
  5. wcf 远程终结点已终止该序列 可靠会话出错
  6. 洛谷 P1529 回家 Bessie Come Home Label:Dijkstra最短路 乱搞
  7. python小技巧积累--题库(持续更新)
  8. 思科精睿系列交换机被曝高危漏洞,仅修复部分产品
  9. CCF201409试题
  10. Rust :fold
  11. Windows电脑电源选项开启“卓越性能”模式
  12. 路径详解(绝对路径,相对路径,根相对路径)
  13. IDEA waiting until last debugger command completes
  14. 设计模式学习(八) 模板方法模式
  15. 将具有默认值的列添加到 SQL Server 中的现有表
  16. hualinux 编程概念 3.16:DevOps 详解
  17. 计算机核心期刊新排名(转)
  18. 韩国商业网站设计分析
  19. 使用 VirtualBox 让 PC 提供云桌面服务
  20. 机械、电子、计算机类优秀的论坛或者网站

热门文章

  1. 位运算实现四则运算(C++实现)
  2. iOS10 打开APP设置界面和WIFI界面
  3. 捡起JavaScript(1)
  4. ubuntu安装操作HttpSQS高速队列
  5. Delphi下物理删除dBase数据库的*.dbf文件
  6. breakcontinue
  7. Linux内核编程广泛使用的前向声明(Forward Declaration)
  8. sizeof你真的弄明白了吗?
  9. Capture images using V4L2 on Linux
  10. resnet152训练_Resnet-152的图像预处理