初始Java SE

目录

一、Java程序的运行

二、Java的注释

三、标识符

四、关键字

五、java的数据类型

六、变量

七、类型转换

1、自动类型转换(隐式)

2、强制类型转换(显式)

八、类型提升

九、字符串类型


一、Java程序的运行

  • 使用记事本或者IDEAbianxiejava源程序
  • 通过javac编译程序把源文件进行编译,编译后生成.class的字节码文件  语法格式:              javac xxx.java(class文件是由字节码组成的与平台无关、面向JVM的文件)
  • 启动java虚拟机来运行.class文件。使用java运行xxx.class字节码文件  语法格式:java xxx

注:运行java程序前,必须先安装好JDK,JDK里面就包含了jvac和java工具,Java程序最终是在JVM(Java虚拟机)中运行的。

二、Java的注释

java注释主要分以下三种:

  • 单行注释://……
  • 块注释:/*……*/
  • 文档注释:/**……*/(常用于描述方法和类的作用)

注意:

  1. 块注释不能嵌套使用
  2. 注释不参与编译,即编译生成的.class文件中不包含注释信息

三、标识符

Test称为类名,main称为方法名,也称为标识符。

1、硬性规则

标识符可以包含:字母、数字以及下划线和特殊符号等

注:标识符不能以数字、关键字开头,且严格区分大小写

2、软性建议

  • 类名:每个单词的首字母大写(大驼峰)
  • 方法名和变量名:首字母小写,后面每个单词首字母大写(小驼峰)

四、关键字

java中常见关键字:

用于定义访问权限修饰符的关键字private

public

protected

用于定义类、函数、变量修饰符的关键字abstractfinalstaticsynchronized
用于定义类与类之间的关系的关键字extendsimplements
用于定义建立实例、引用实例、判断实例的关键字new

this

superinstanceof
用于异常处理的关键字trycatchfinallythrow
用于包的关键字packageimport
其他修饰关键字nativeassertvolatile

五、java的数据类型

数据类型分为两种:基本数据类型和引用数据类型

基本数据类型有四类八种:

  1. 四类:整型、浮点型、字符型和布尔型
  2. 八种
数据类型关键字内存占用范围
字节型byte1字节-128~127
短整型short2字节-32768~32767
整型int4字节-2^(31)~2^(31)-1
长整型long8字节-2^(63)~2^(63)-1
单精度浮点数float4字节有范围,一般不关注
双精度浮点数double8字节

有范围,一般不关注

字符型char2字节

0~65535

布尔型boolean没有明确规定true和false

注意:

  • java中没有无符号类型
  • 无论多少位系统,int都是四个字节,long都是八个字节
  • 整形默认为int,浮点型默认为double

六、变量

1、整型变量

  • int的包装类型为integer
  • int无论在多少位系统下都是4个字节
  • 变量在使用之前必须要赋初值,否则编译出错
  • 变量在设置初始值时,不能超过int的表示范围,否则会溢出,(编译时报错)

2、长整型变量

long c=10L;  //为了区分int和long类型,建议在long类型变量初始值后面加上L或l
long d=10l; //一般加L,小写l与1不好区分
  • 长整型占8个字节
  • long包装类型为Long
  • 长整型变量的初始值后加L

3、短整型变量

  • short占2个字节
  • short的表示范围为:-32768~32767
  • short的包装类型为Short

4、字节型变量

  • byte占一个字节
  • 字节的包装类型为Byte

5、双精度浮点型变量

int a=1;
int b=2;
System.out.println(a/b);

注意:在java中,int除以int的值仍为int(会直接舍弃小数部分)。

double num=1.1;
System.out.println(num*num);

//执行结果如下:
1.210000000000002

注:

  • double占8个字节
  • 浮点数和整数在内存中的存储方式不同,不能单纯使用2^n的形式来计算
  • double的包装类型为Double
  • double类型遵守 IEEE 754标准,尝试使用有限的空间表示可能无限的小数,会存在一定的精度误差,因此浮点数是一个近似值,不是精确值
  • 一般工程用到的浮点数都优先考虑double,不推荐使用float,float的包装类型为Float

6、字符型变量

char a='A';
char b='1';
char c='张';

注:

  • java中的字符变量可以存放整型
  • 字符本质上是一个整数。C语言中使用ASCII表示字符,而Java中使用Unicode表示字符。因此一个字符占两个字节,表示的字符种类更多,包括中文。
  • char的包装类型为Character

7、布尔型变量

注:

  • boolean类型的变量只有两种,true表示真,false表示假
  • Java的boolean类型和int类型你能相互转换,不存在1表示true,0表示false
  • boolean的包装类型为Boolean

七、类型转换

int a=10;
long b=100L;
b=a;   //可以通过编译
a=b;   //编译失败

java中的类型转换主要分为两类:自动类型转换(隐式)和强制类型转换(显式)

1、自动类型转换(隐式)

在代码编译时,编译器会自动进行处理。特点:数据范围小的转换为范围大的时会自动进行

byte b1=100;  //编译器会隐式将100转换为byte
byte b2=257;  //编译失败,257超过byte的数据范围,有数据丢失

int a=100;  //a赋值给b时,编译器会自动将a提升为long类型,然后赋值
long b=10L;  //编译器报错,long的数据范围比int大,会有数据丢失,不安全

2、强制类型转换(显式)

byte b1=(byte)257;  //257默认为int,超出byte范围,需要显式转换,否则报错


int a=1;
boolean flag=true;
a=flag;    //编译失败,类型不兼容
flag=a;    //编译失败,类型不兼容

注:

  • 强制类型转换不一定能成功,不相干的类型不能相互转换
  • 将一个字面值常量进行赋值,Java会自动针对数字范围进行检查
  • 强制类型转换时,可能精度丢失

八、类型提升

1、int和long之间:int会被提升为long

int a=10;
long b=20L;
int c=a+b;   //编译出错
//a+b被提升为long,赋值给int会丢失数据

2、byte和byte的运算

byte a=10;
byte b=20;
buye c=a+b;  //编译报错。运算时a和b会提升为int,从int转换到byte可能会数据丢失

结论:byte和byte都是相同类型,但是编译报错。虽然a和b都是byte,但是计算a+b会先将a和b提升为int,再进行计算,得到的结果也是int。

注:

  • 不同类型的数据混合运算,范围小的会提升为范围大的
  • 对于short、byte这种,会先提升为int,再计算

九、字符串类型

int a=10;
int b=20;
System.out.println("sum:"+a+b);  //打印为:sum:1020;
System.out.println(a+b+"sum:");  //打印为:30sum:

1、int转换为String

int a=10;
//方法一:
String str1=a+"";
//方法二:
String str2=String.valueof(a);

2、String转换为int

String str="100";
int a=Integer.valueof(str);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢敲代码的大秃噜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值