java-day01

1、什么是编程?

就是人类将自己的想法思路整理出来,以编程语言的形式,告诉计算机,让计算机可以按照我们人类的思想,去完成指定的操作。

2、编程语言的发展历史

第一阶段:二进制语言 ,只有计算机能理解,01010101

第二阶段:汇编语言 ,类似于0x15, 计算机能够看懂,有些这种格式代码人类也能看懂

第三阶段: 编程语言, 人类能够懂,计算机能读懂,比如c语言,c++,java等等

3、java的发展历史

1995年sum公司发布java1.0版本

1997java1.1版本

1998拆分为3个版本 面向桌面应用 j2SE 面向分布式企业级的应用j2EE 面向移动手机的j2ME

2004-2014 java5-java8

2017 java9

2018年3月 java10

2018年9月 java11

从java9开始每6个月更新一次

4、jdk环境配置

环境:软件存在需要依赖的一些东西,想要使用某些软件环境,必须给软件配置环境

配置了环境之后,就能够在任意位置去启动想要的软件

系统变量 配置一个 JAVA_HOME 找到jdk安装路径地址(不要包含\bin)

5、二进制

十进制转二进制(倒着读)

二进制转十进制

计算机的最小存储单位

最小单位:位

1个字节 8 位 1111 1111 255

1kb=1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

6、命令提示符

查看计算机相关信息: ipconfig

cls

查看网络连接:ping

切换到d盘:d:

切换目录:cd+目录名称

查看当前位置有什么:dir

启动软件:输入应用名称

7、JDK JRE JVM(三大任务)

jdk: java development kit java开发工具包,提供给所有java开发人员使用的开发工具包,

如果要开发java程序,必须要安装jdk

jre: java runtime elevement 运行时环境 ,运行java程序需要的内容,如果只要运行一个java程序,那么

只要有jre就行

jvm: java virtual machine java虚拟机 所有的java代码都是由jvm帮助我们运行的

jvm的三大任务:

1、加载:jvm负责把字节码文件(class)加载到内存中去

2、验证:jvm对字节码文件进行验证,验证代码是否符合规范

3 、执行:验证通过后,执行代码

8、Java的HelloWorld(记事本、手动编译)

public class Hello{
    public static void main(String[] args){
        System.out.println("hello world!");
    }
}

1、public表示一个修饰符,公共意思,表示任意的位置可以访问这个类

class表示类,表示这个Java文件是一个普通的类文件

Hello表示类名,用来标识这个类,类名必须与文件名同名

大括号{}:表示类中代码的范围

2、public static void main(String[] args){}:main方法,固定写法,是程序的入口,都是从这个main方法开始

3、 System.out.println("hello world!"):向控制台输出指定的类,括号里面写什么,就会输出什么 。

9、Java常用命令:java javac

  • java javac是在jdk的bin目录下
  • javac:用来编译指定的Java文件
  • Java:用来运行编译好的Java.class类文件

10、java跨平台

平台,指的是不同的操作系统

跨平台,就是指同一个Java程序,可以在不同的操作系统上运行

跨平台实现原理:通过不同操作系统的jvm,完成跨平台的操作

11、Java中的注释

注释:对于代码的解释,写给自己或其他人看的

单行注释:注释一行内容,以//开头

多行注释:注释多行内容, 一般做一些说明性的内容,协作/* */范围内

12、变量的定义、变量的命名规则

变量的取名规则:遵循标识符的命名规范

标识符:指的是Java中类方法变量取名的一些规范名称

规范:标识符由数字、字母、下划线、$符组成,不能以数字开头

举例:123abc 错误的

_abc123 $abc 正确的

变量名:遵循标识符命名规范的继续上,一般采用小驼峰命名,首字母小写,后面每个单词的首字母大写

尽量遵循望文生义

举例:userName, productName

类名的取名:采用大驼峰命名方式,大驼峰命名,首字母大写,后面的每个单词首字母大写

举例:class User{} class Person{}

方法名的取名:和变量名的取名规则一样

举例:void getUserName(){}

练习:

1、取五个变量名 :图书编号 图书名 图书作者 图书出版社 图书价格

int bookId; String bookName; String bookAuthor; String bookPublisher; int bookPrice;

2、取五个类名: 书籍类 作者类 用户类 出版社类 借阅类

class Book{}

class Author{}

class User{}

class Publisher{}

class Library{}

3、方法名:获取作者名 添加书籍 修改书籍 获取用户信息 删除用户信息

void getAuthorName(){}

void addBook(){}

void updateBook(){}

void getUserInfo(){}

void deleteUserInfo(){}

13、Java的关键字

标识符的名称,不能和关键字同名

Java对大小写敏感,标志符的大写是允许作为标识符的

14、常量

是程序运行过程中,不会改变的量

分类如下:

整数常量、 字符串常量、小数常量、 字符常量、布尔常量、空常量;

15、数据类型&变量

数据类型:用来表示Java语言中使用的数据方式

数据类型分类:基本数据类型 和 引用数据类型

基本数据类型:四类八

整数:byte short int long

浮点:flout double

布尔:boolean

字符:char

Java中的数据类型,首位都表示符号位,所以取值范围都是位数-1之后做计算

浮点数类型转二进制的方式 :以40.375为例

1,先求整数部分 40 的二进制 ==> 0010 1000

2,求小数部分0.375的二进制 ,小数求二进制的方式是, 小数部分 乘 2 ,满1取1,不满1取0

0.375 * 2 = 0.75 => 0

0.75 * 2 = 1.5 => 1

0.5 * 2 = 1 => 1

0.375的二进制结果为 : 011

40.375 组合后的二进制值为 : 0010 1000 . 011

3,小数点左移,左移到最高位的1后面

0010 1000 . 011 ==> 001.0 1000 011

移动的位数+ 127 ==> 5 + 127 = 132 =>

4,计算最终的二进制值

符号位 + 132的二进制(移动后数值的二进制) + 小数点后的二进制 后补0

0 +

注意事项:

1、整数类型:默认为int类型

2、float类型和int类型字节相同,位数也相同,但是int的精度更高

float类型的划分是1个符合位 8个指数位 23 个符合位,它的进度是23位,int的精度是31位

float类型的取值范围更大

3、 double类型的划分是一个符号位+11个指数位+52个尾数位,比long类的范围大,精度比long类型小;

4、浮点数类型的默认是double类型

/**
	变量的声明及使用
**/
public class DemoVariable02{
	
	public static void main(String[] args){
		//声明变量
		//声明整数类型
		//语法 :  数据类型   变量名   =  值;
		byte b1 = 100; 
		//byte b2 = 200;   //声明的数值,不能超过数据类型的范围
		System.out.println(b1);
		//System.out.println(b2);
		
		short s1 = 200;
		System.out.println(s1);
		
		//int类型的声明
		//int b1 = 300;  //不可以声明同名的变量
		b1 = 110;
		System.out.println(b1);
		
		int i = 100;
		System.out.println(i);
		
		//long类型
		long l = 1000L;
		System.out.println(l);
		
		//float类型
		float f1 = 3.45F;
		System.out.println(f1);
		
		//double类型
		double  d1 = 2.58;
		System.out.println(d1);
		
		//字符类型
		char ch = 'A';
		System.out.println(ch);
		
		//布尔类型,只有两个值,true或者false
		boolean  b2 = true;
		System.out.println(b2);
	}
	
	
	
}

16、变量

变量的概念:在程序的运行的过程中可以改变的量,本质是内存中开辟的一块空间

变量的声明:

格式:数据类型 变量名=值;

变量声明注意事项:

1、变量不能重复定义,也就是变量名不能重复,值可以改变

2、float和long类型变量,后面需要加后缀,float加F,long加L

3、byte和short类型变量,变量的值不能超过类型的范围

4、没有赋值的变量不能被使用,必须赋值后才能被调用

5、变量的使用不能超过它的作用域

作用域:就是变量生效的一个范围也就是所在的那个{}里面

6、变量的其他声明方式:

一次性声明多个变量

练习:声明两个变量,a=10;b=20,输出这两个变量,
然后将ab交换,输出a和b

public class DemoVariable3{
	public static void main(String[]args){
    int a=10;
	int b=20;
	System.out.println("a的值是"+a);
	System.out.println("b的值是"+b);
	//int temp=a;
	//a=b;
	//b=temp;
     int temp=a;
	 a=b;
	 b=temp;
	System.out.println("a的值是"+a);
	System.out.println("b的值是"+b);
	}
	
}

17、类型转换(大类型&小类型、int&char的转换)

大类型和小类型:大小类型的区分即是他们的取值范围的大小

大小类型的数据转换:

小类型》大类型:隐式数据转换,数据一定是安全的

大类型>小类型:显示数据类型转换

语法: 小类型=(小类型)大类型值;

public class DemoVariable04{
	
	public static void main(String[] args){
		//隐式的数据类型转换,小类型 -> 大类型
		
		byte b = 100;
		int i = b;
		System.out.println(i);
		
		//小类型向大类型转换的时候,会产生精度丢失问题
		float f1 = 2.58F;
		double d1 = f1; 		// 2.5799999237060547
		System.out.println(d1);
		
		int num = 1234;
		float f2 = num;
		System.out.println(f2);
		
		//byte类型或者short类型,如果做运算,会被提升类型为int,结果需要做强制转换
		byte b1 = 50;
		byte b2 = 50;
		int b3 = b1 + b2;  //byte + byte =>  int + int
		byte b4 = (byte)(b1 + b2);
		System.out.println(b3); 
		System.out.println(b4); 
		
		
		//显示的数据类型转换,  大 -> 小
		
		int num01 = 100;
		byte num02 = (byte)num01;
		System.out.println(num02);
		//大类型的值,转为小类型,需要强制转换,
		//如果超过了小类型的范围,可以转换成功,但是最终的结果会发生改变
		int num03 = 200;
		byte num04 = (byte)num03;
		System.out.println(num04);  //-56
		
		
		double num05 = 2.56;
		float f3 = (float)num05;
		System.out.println(f3);

        int num06 = (int)num05;
		System.out.println(num06); //2
		
		//字符
		char ch01 = 'a';
		System.out.println(ch01 + 1); //98
		
		
		float f4 = (float)2.56;   //通过将double类型 2.56强转为float
		float f5 = 2.56f;   //声明的时候,直接声明为float类型
	}
	
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值