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, 如图

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

最后运行程序, 则就可以得到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 为基本数据类型提供了对应的类, 这些类称作包装类, 如下图

为什么要使用包装类?:   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), 二进制表示为:

补码运算的特征是什么?

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 如图:

整数类型

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我在这里显示~");

























变量的初始化: 用"="

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,531评论 18 399
  • 今天写了一天的题目,头昏脑胀。学习了一下内容 实例方法的定义,实例方法需要传递参数,需要有返回值。 布尔类型,的t...
    惨不忍睹阅读 228评论 0 0
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 5,122评论 0 41
  • 前几天清理朋友圈,看到了他的名字,于是点进去却发现面对我的只有一条长长的横线。我愣住了。半天没有回过神来。 我不知...
    叶样悠阅读 143评论 0 3
  • 抑郁,死亡和我 文/林子 01 生命是短暂的 如果不是看到朋友圈里的信息,我估计永远都不会认识乔任梁。 那么年轻的...
    芝麻的微光阅读 1,254评论 10 16