JAVA - Day3

编写java程序

step1: 用文字处理软件编写Java源程序, 以扩展文件名.java保存.

step2: 调用JDK开发工具中的javac.exe将.java文件编译为.class文件.

step3: 调用JDK的java.exe解释运行step2编译好的.class文件

包名的第一个关键字是企业网  第二个关键字是企业名称  第三个关键字是项目名称 第四个关键字是具体

类名首字母要大写, main函数名小写

System.out.print: 输出字符串, 输出后光标不换行, 即后面的输出命令将在本行继续显示文本.

System.out.println: 输出字符串, 输出后光标换行, 即后面的输出命令在下一行显示文本

给main方法的args参数赋值

args是字符串数组  args[0]代表args数组的头一个元素及第一个字符串

public static void main(String[] args) {

System.out.println("Hello" + args[0]);

}

args参数赋值方法, 点击菜单栏的run, 如图

JAVA - Day3_第1张图片

然后点击 run configurations  - 找到 java application 里面的类名 - 再点击arguments - 之后在program arguments里面写入字符串即可 如图:

JAVA - Day3_第2张图片

最后运行程序, 则就可以得到args的参数

加运算

字符串与数值相"加"  java会把数字先转换为字符串,然后相连 例1 : "abc" + 35 的结果是"abc35",  例2: 3+5+"12" = "812"  数字先相加然后转为字符串与"12"相连  例3:""+1+2="12" (""代表空字符串)

java项目结构

点击菜单栏的window - show view - navigator  然后就可以看到项目结构

修改包名.类名等用F2快捷键

运行程序快捷键: commend + f11

syso+alt+/ 组合键. 可以快速输入system.out.println

System.out.println 语句只能输出一个字符串, 如果想输出多个字符串, 中间必须要用+号相连接

Math类

1,Math类是JDK中用于数学运算的工具类

2, Math类在rt.jar中的java.lang包下

System.out.println("10+5="+(10+5)); //10+5=15

System.out.println("10-5="+(10-5)); //10-5=5

System.out.println("10*5="+10*5); //.10*5=50

System.out.println("10/3="+10/3); //10/3=3

System.out.println("10/3="+10.0/3);//10/3=3.333333333

//取整  floor方法可以保留整数部分截去小数部分floor

System.out.println("10/3="+Math.floor(10.0/3));//10/3=3.0

//保留整数位, 但对小数点后第一位进行四舍五入round

System.out.println("3.75对小数点后第一位四舍五入="+Math.round(3.75));//3.75对小数点后第一位四舍五入=4

//取绝对值abs

System.out.println("|-10|="+Math.abs(-10));//|-10|=10

//m的n次方pow

System.out.println("3的4次方="+Math.pow(3, 4));//3的4次方=81.0

//求平方根的函数sqrt

System.out.println("120的平方根="+Math.sqrt(120));//120的平方根=10.954451150103322

System.out.println("保留3.75小数点后第一位 ="+Math.round(3.75*10)/10.0);//保留3.75小数点后第一位 =3.8

常用技巧

1, 解决删除项目时,忘记勾选删除磁盘选项: 去工作空间删除

2, 显示行号: 右击资源区和代码区中间的空白, 然后点击 show line numbers

3, 设置工作空间  :

 3.1 切换到别的工作空间: 点击菜单栏的file - switch workspaces - other 后修改工作空间  之后eclipse会重新启动, 重新启动的eclipse就在新的工作空间工作了  

3.2 再切换到原来的工作空间: 点击菜单栏的file - switch workspaces -选择工作空间 - eclipse 自动重启,然后回到原来的工作空间中

4, Eclipse 快捷键  : 4.1:格式化代码的快捷键: commend+shift+F    4.2: 添加/取消单行注释的快捷键: commend+/  4.3: 添加多行注释的快捷键: commend+shift+/  4.4; 取消多行注释的快捷键: commend+shift+\

变量

字面量: Java的变量和常量中存放的具体的数据称为字面量

计算机的高级语言普遍使用变量来管理内存中存储的数据

变量的命名:  1, 首字母是英文字母, $或下划线, 由字母.数字, 下划线组成;  2, 变量的命名遵循见名之义的原则  3, Java变量名建议不适用中文  4, 变量名首字母建议不用大写字母  5, 用驼峰命名法命名多个单词组成的变量名 6, 变量名不要使用Java关键字

定义变量    每个变量必须属于一种数据类型.  定义模式: 类型  变量名1, 变量名2, ..., 变量名n;  例如: byte score;

用变量简化计算

计算: (sqrt(20)+sqrt(10))/(sqrt(20)-sqrt(10))

不用中间变量直接计算: System.out.println("(sqrt(20)+sqrt(10))/(sqrt(20)-sqrt(10))="+Math.round(10*(Math.sqrt(20)+Math.sqrt(10))/(Math.sqrt(20)-Math.sqrt(10)))/10.0);

通过中间变量进行计算: 

double sqrt20 = Math.sqrt(20);//将20的平方根保存在sqrt20中

double sqrt10 = Math.sqrt(10);//将10的平方根保存在sqrt10中

double resule = (sqrt20 + sqrt10)/(sqrt20 - sqrt10);//保存结果

resule = Math.round(resule * 10)/10.0;

System.out.println("(sqrt(20)+sqrt(10))/(sqrt(20)-sqrt(10))="+resule);

用中间变量进行计算可以使代码逻辑更加清晰

代码例:

String name = "小米3";

String operation = "Android4.3";

int cpu = 2;

double money = 1999.0;

System.out.println("手机品牌:"+name+"\n手机操作系统:"+operation+"\ncup数量:"+cpu+"\n价格:"+money+"元");

控制台输出为: 

手机品牌:小米3

手机操作系统:Android4.3

cup数量:2

价格:1999.0元

数据类型的包装类:

Java 为基本数据类型提供了对应的类, 这些类称作包装类, 如下图

JAVA - Day3_第3张图片

为什么要使用包装类?:   1, 包装类中封装了一些很使用的方法和常量, 例如: Byte.MIN_VALUE是Byte类中的一个常量, 存放了byte类型数据的最小值.  2, 包装类在集合中用来定义集合元素的类型

包装类的常用方法和常量:  

1, integer.MIN_VALUE: int类型的最小值: -2^31           

2, integer.MAX_VALUE: int类型的最大值: 2^31-1      

3, int integer.parseint(String sinteger) 作用: 将字符串类型的整形转换为int类型的数据        

4, String integer.toBinaryString(int value) 作用: 将十进制数转换为二进制, 返回结果string类型

5, String integer.toHexString(int value) 作用: 将十进制数转换为十六进制, 返回结果为String类型

输出: 

//Byte最小值到最大值

System.out.println(Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);//-128~127

//Byte的108转成对应的整形 再加5

System.out.println(Byte.parseByte("108")+10);//118

//Integer最小值到最大值

System.out.println(Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);//-2147483648~2147483647

//Integer的50000转成对应的整数,再加5

System.out.println(Integer.parseInt("50000"+5));//500005

//将十进制整数转成对应二进制

System.out.println(Integer.toBinaryString(16));//10000

//将十进制数转成十六进制

System.out.println(Integer.toHexString(16));//10

二进制补码

1, 在计算机系统中, 数值一律用二进制的补码来存储

2, 二进制的最高位是符号位, 0表示正数 ,1表示负数.

3, 正数的值是其本身, 负数的值是最高位(符号位)不变, 其它位逐位取反(含符号位), 再加1

4, 两数相加, 若最高位(符号位)有进位, 则进位被舍弃. 

为什么使用补码?

1, 可以将符号位和其它位统一处理

2, 最高位不再表示数值, 而是作为符号位,正好将数值折半,即一半是0至正数, 一半是负数  

例1); 4位二进制数共有16个数, 用补码表示, 则一半是0~7, 一半是-1~-8    例2): 8位二进制数共有256个数, 用补码表示, 则一半是0~127, 一半是-1~-128;

3, 减法也可按加法来处理;  

例如: 7-3,可以表示为7+(-3), 二进制表示为:

JAVA - Day3_第4张图片

补码运算的特征是什么?

1, 计算机中正数和负数的关系是取反加一.

2, 补码运算是封闭的: 运算结果保留在补码范围之内, 超范围就溢出.

3, 4位二进制补码最多能表示2^4(16)个数, 数的范围是-6~7

4, 8位二进制补码最多能表示2^8(256)个数, 数的范围是-128~127

5, 16位二进制补码最多能表示2^16(65536)个数, 数的范围是-32768~32767

6, 32位二进制补码最多能表示2^32个数, 数的范围是-2的31次方~2的31次方-1

补码运算的原理  ..

正数 + 负数 = 模    模: 某种类型数据的总数 例如; 4位二进制数的模式2^4=16

例如 在4位二进制中, 7+(-7) = 16 如图:

JAVA - Day3_第5张图片

整数类型

1, Java有四种整数类型: byte, short,int和long

2, Java默认整数计算的结果是int类型

3,整数的字面量是int类型

4, 若字面量超过int类型的最大值, 则字面量是long类型, 那么后面要用L(或l)表示该值是long类型

例如: 将字面量30亿赋值给一个long类型的变量: long a = 300000000L

5, Java底层byte和short按照32位(int类型)计算

浮点类型

1. 浮点类型用于表示小数的数据类型

2, 浮点数原理: 也就是二进制科学计数法

3,Java的浮点类型有float和double两种

4, Java默认浮点类型计算的结果是double类型, 字面量也是double类型,  若要给float类型的变量赋字面量的值, 则要在字面量后面加F(或f)

浮点数的科学计数法

1,十进制浮点数科学计数法: 2134655 = 2.134655*(10^5)

2, 二进制浮点数科学计数法: 10111 = 1.0111*(2^100)

  例: double d = 2.6;

double result = d-2;

System.out.println(result); //0.6000000000000001  (这个地方的1是运算的误差)

字符类型

1, char类型的字面量可以是一个英文字母,字符或一个汉字, 并且由单引号包括

2 ,  Java底层使用一个16位的整数来处理字符类型, 该数值是一个字符的unicode编码值

unicode编码

1, unicode编码是全球范围内的编码方法

2, unicode编码的英文部分与ASCII码兼容, 同时英文字符和数字是连续编码的

3, Java在处理char类型的数据时,在底层是按unicode码来处理的

//显示0-127的字符

for (int i = 0; i < 128; i++) {

// (char)i 是将数字i转成字符i  后面的i是unicode编码的i

System.out.println((char)i+":"+i);

}

转义符

转义符是"\", 通过转义字符,可表示一些特殊的字符. 

例如:'\n'表示回车 

 '\t'表示制表字符, 一个制表符表示向右条8-10个字符 

'\\'表示\

'\' '表示单引号

'\" '表示双引号

'\u4e2d'表示unicode编码对应的字符(汉字 '中')

例:

\u4e2d 代表汉字"中", 是16进制编码

System.out.print('\u4e2d'+":");

//把中的16进制编码转成10进制

System.out.println(4*Math.pow(16, 3)+14*Math.pow(16, 2)+2*Math.pow(16, 1)+13*Math.pow(16, 0));// 中:20013.0

(char)20013 可以再转给字符中

System.out.println((char)20013+":"+20013); //中:20013

System.out.println("我和"+"\n你不在一行显示要!"+"\n\t我在这里显示~");

























变量的初始化: 用"="

你可能感兴趣的:(JAVA - Day3)