java程序的运行方式,java中的基本语法

java中的基础知识

一、java程序是如何运行的?

W71ktA.png
下面让我们来写一条 java 程序来执行并且感受一下。

首先打开电脑的磁盘空间,在里面创建一个文件夹,用记事本打开它,在里面写出自己要写的程序,结束之后将文件的后缀改为 .java ,然后保存。(譬如,此处我们将文件名叫做:HelloWorld.java )

随后鼠标置于空白处,按住 shift 键不放,之后右击选中 “打开powershell窗口 ” 一栏 。

hDcgXT.png

javac 先编译该文件,编译之后生成一个二进制的.class文件,之后再用java命令来运行,就可达到预期效果。(java 和 javac 都是jdk命令)。另外,那个.class 的字节码文件是在 jvm 中运行的,也就是说,这个字节码文件如果发给别人就可以直接运行。(这也就是所谓的一次编译到处运行)

二、java基本的语法规则(大体和c语言相差无几)

1).java 的变量和类型

WqgJZ8.png

fZxjot.png

以下着重来介绍一下基本数据类型
  1. 数值型:

​ 整型:byte(1个字节),short(2个字节),int(4个字节),long(8个字节)

  • byte: (字节型变量)
byte 变量名 = 初始值;
byte value = 0;
  • short:(短整型变量)
short 变量名 = 初始值;
short value = 0;
  • int:(整型变量)
int 变量名 = 初始值;
int num = 10;
  • long:(长整型变量)
long 变量名 = 初始值;
long num = 10l;
//次数的变量的赋值
//一般是使用10L或10l
//这样可以直观的表示其是一个长整型变量

​ 浮点型:float(4字节)double(8字节), 注意:在 java 中浮点型数据的存储还是遵从 IEE754 标准所以说它的取值范围不能简单地像整型数据那样表示出来。

  • float :(单精度类型)
float num = 1.0f;
//f大小写皆可
//精度过低,不推荐使用
  • double:(双精度类型)
double num = 1.0;

要注意的点:

  • 在 java 中 整型除以整型最终得到的实质还是整型,电脑会自动将证书后面的小数舍去。

  • 如果要得到小数那就使用双精度类型的 double 相除,就会得到一个小数。

  • 还有就是 double 也不是极其精确的,比如在电脑中执行 1.1 乘以 1.1 的时候,就会存在一定的误差。fZXoRg.png

  • 还有,double 在内存中的存储方式也服从 IEEE754 标准(其实这也是它误差的来源,在折磨小的一个内存空间里面要想塞下一个双精度浮点数)

  1. 字符型

基本格式:

char 变量名 = 初始值;
char ch = 'A';
char ch = '呵';

注意事项:

在 java 中使用单引号加单个字母的形式表示字符的字面值。

在 java 中使用 unicode 表示字符,一个字符就占用两个字节,表示的字符种类更多,包括中文。

java 中的char 类型变量的取值范围和 C语言中的取值范围一样。

  1. 布尔型

布尔类型的特点就是给变量的结果就是 ture 或者 false 。所谓布尔表达式本质上其实就是表达式结果为 ture 或者为 false。

boolean value = ture;
boolean value = false;

注意:boolean 类型有些 jvm 是占一个 bit 有些是占一个 byte,这个是没有明确规定的。

  1. 字符串类型变量:

当我们把一些字符放到一起就构成了字符串。

String 变量名 = "初始值";
String name = "zhangsan";

注意事项:

String 不是基本类型,而是引用类型

字符串中一些不太方便直接表示的字符需要直接转义

  1. 变量的作用域

变量的中作用域也就是该变量能生效的范围,一般是变量定义所在的代码块(类比C语言中局部变量的知识点)feBiiF.png

  1. 变量的命名规则

硬性指标:

  • 一个变量名只能包括数字,字母,下划线

  • 数字不能放开头

  • 在java当中,变量名是大小写敏感的。即num 和Num 是两个不同的变量

  • 此外,要注意的是:虽然语法上也允许中文或者美元命名变量,但是强烈不推荐这么做。

软性指标:

fesvfU.png

feyepD.png
5. #### 常量

  1. 类型转换

fe2vQS.png

//int和long之间相互赋值
int a = 10;
long b = 20;
a = b;//编译出错,提示可能会损失精度
b = a;//编译通过

//int和double之间相互赋值
int a = 10;
double b = 1.0;
a = b;//编译出错,提示可能会损失精度
b = a;//编译通过

总结:以上可以看出,其规则其实很简单,小范围的可以提升以后赋给大范围

但是大范围的如果赋给小范围的就会报错。

此外,还有要注意的点就是:int 和 Boolean 是两种毫不相干的类型,不能相互赋值。

  1. 数值提升

feHIUO.png

  1. int 和 string 之间相互转化

int 转成 String

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

String 转成 int

String str = "100";
int num = Integer.parseInt(str);

2). 运算符

fmz1Ts.png
特别注意:

  • int/int 结果还是 int ,需要使用 double 来计算

    算出结果之后,舍去小数部分即可

  • 0 不能作为除数

  • % 表示取余,不仅仅可以对 int 求模,也能对 double 来取模

2). 运算符

fmz1Ts.png
特别注意:

  • int/int 结果还是 int ,需要使用 double 来计算

    算出结果之后,舍去小数部分即可

  • 0 不能作为除数

  • % 表示取余,不仅仅可以对 int 求模,也能对 double 来取模

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值