1.概念: Java是一门面向对象的语言,而之前的学到的C语言是面向过程的语言,C++是面向对象的一门语言。
1.1 面向对象: 一切事物皆对象,通过面向对象的方式,将现实世界的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。 1.2 面向过程: 面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。
2.2 为什么学习Java语言 Java目前是一门使用最为广泛的语言之一; Java还有许多特性:简单性、分布式、可移植性、健壮性、多平台独立、动态性等。Java拥有极高的跨平台能力:(编写桌面的应用程序、WEB应用程序、嵌入式系统的应用程序、分布式系统的开发等) Java高端路线—大数据? Hadoop技术最多用的是Java、HBase。掌握Java
JavaSE-------标准版
JavaEE------企业版
JavaME-----微型版
平台:指的就是操作系统(Windows、Linux、Mac)
跨平台:java程序可以运行在不同的操作系统上,一次编译到处运行
原理:实现跨平台需要Java虚拟机JVM(Java Virtual Machine)
A:什么是JVM
JVM就是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台都有自己的虚拟机,所以java语言是跨平台。
B:什么是JRE
包括Java虚拟机(JVM)和Java程序所需要的核心类库等如果想要运行一个开发好的java程序,计算机中只需要安装JRE就可以完成。
JRE:JVM+核心类库
C:什么是JDK
JDK是提供给我们开发人员使用的,其实里面已经包含了Java开发工具,当然也包括JRE。如果你安装了JDK,就不用单独再安装JRE了。
JDK:JRE+java开发工具
D:JDK,JRE,JVM的关系和作用。
JDK包含JRE和开发工具
JRE包含JVM和核心类库
2.6.1 打开控制台
Win+R, 输入cmd
2.6.2 熟悉一下常用的命令
d:回车 盘符的切换dir:列出当前目录下的所有的文件和文件夹cd 改变指定目录(进入相对应的目录)cd… 回退cls:清屏操作exit:退出dos命令行JDK的下载
通过官方获取JDK,www.oracle.com
下载的时候注意:不同操作系统,下载不同的版本。32位和64位。
JDK的安装
傻瓜式安装,下一步即可。
建议安装的时候,用英文路径。不要用中文或者带符号还有带空格等
为什么要配置
java程序的编译和运行使用javac和java命令,所以只能在bin目录下写程序。
在实际开发中,不可能把所有的程序都放到bin目录下,最好的方法就是可以在任意目下能够访问javac和java。
如何配置
a)创建新的变量名称:JAVA_HOME
【计算机】---->右击【属性】---->【高级系统设置】----->【环境变量】----->【系统变量】
变量值:JDK的安装路径,打开JAVA文件,单击地址栏即可
b)【Path】:单击编辑
在最后面添加;%JAVA_HOME%\bin;即可
第一个见到的程序。
在命令行模式,输入javac命令对源代码进行编译,生成了字节码文件
javac 源文件名.java
编译完成后,如果说没有报错,那么我们进行java命令对字节码文件进行执行,执行时不要添加.class扩展名
java HelloWorld
HelloWorld常见问题:
文件名隐藏单词拼写的错误(Class/string/mian)中文符号在输出语句的最后面使用中文分号括号的匹配{ ()}A:什么是注释
用来解释说明程序的文字
B:Java中的注释分类
单行注释:// 注释文字
多行注释:/* 注释文字 */
文本注释:/** 注释文字 */
C:注释的作用
解释说明程序,增加可读性。帮助我们更好地去寻找程序的错误。Doc文档注释生成:javadoc -d 存放的路径 HelloWorld.java
A:概述
被java语言给定的特定含义的单词
B:特点
组成关键字的字母都是小写的。
常用的代码编辑器,针对关键字会有特殊的颜色标记,比较直观。这里建议关键字不需要死记硬背。
C: 常用的关键字
A:概念
在程序执行的过程中,它的值一直不发生改变的量。
B:常量的分类
整数常量: 所有的整数 (234,250)小数常量:所有的小数(3.14159, 66.66)字符常量:由单引号引起来的内容(‘a’,‘A’,‘0’)字符串常量 由双引号引起来的内容(“HelloWorld”)布尔常量 特殊,只有true和false空常量 null(数组中学到)练习:使用工具
A:定义
存数的。容器。代词,指的就是所存的那个数。Person p; Score s;
B: 声明
int a;//声明一个整型的变量,叫a;
int b,c,d;//声明三个整型的变量,叫b,c,d
C:初始化
声明的时候同时初始化
int a = 666;
先声明后初始化
int a;
a = 666;
使用:
见代码。
变量的命名:
由字母。数字、下划线组成,但是不能由数字开头。
不能使用关键字
可以中文命名,但是不建议使用中文。
建议“见名知意”“驼峰命名法”
score, myScore,myJavaScore------驼峰命名法
帕斯卡命名法----Score,MyScore,MyJavaScore–类
10进制和二进制的转换。
13=1101 666
位:bit
字节:byte
1B = 8bit
1KB = 1024B
1M = 1024KB
1GB = 1024M
A: 为什么有数据类型?
java是一门强类型的语言,对于每一种数据的定义都会有明确的规定,在内存中分配不同大小的内存空间。
B:数据类型的分类
基本数据类型:
整型:byte, short,int,long
浮点型:float,double
字符类型:char
布尔类型:boolean
引用数据类型:数组,接口,类等。后期学习。
byte:
byte数据类型:8位,占1个字节。最小值:-128 2^7最大值:127 2^-1默认值是0byte在大型数组中使用,主要的目的就是为了节约内存空间,因为byte占的空间只有int的四分之一。short:
short数据类型:16位,占2个字节最小值:-32768 -2^15最大值:32767 2^15-1默认值是0int:
int类型:32位,占4个字节最小值 -2^31 20E左右最大值 2^31-1默认值是0long:
long类型:64位,占8字节最小值最大值默认值:0Lfloat:
float:32位, 4字节默认值:0.0fdouble:
64位,8字节默认值:0.0dchar:
2字节‘\u0000’-----0 最小值最大值:65535boolean:
只有两个值:true和false默认值:false一般用来做标记记录的。1)算术运算符:+ - * / % ++ – 2)关系运算符:> < >= <= == != boolean 3)逻辑运算符:&& || ! 4)赋值运算符:= += -= *= /= 5)三目/条件运算符:boolean ? 数字1 : 数字2; 6) 字符串连接:+
算术运算符
int y = 5; //alt + / System.out.println(x + y);//7 System.out.println(x - y);//-3 System.out.println(x * y);//10 System.out.println(x / y);//0 System.out.println(x++);//2 System.out.println(x--);//3 int x1 = 6; int x2 = 3; System.out.println(++x1);//7 System.out.println(--x2);//2逻辑运算符
// 只要有一个为假都为假 false //&& x && y // 0 1 0 // 1 1 1 // 1 0 0 // 0 0 0 int m = 8; int n = 6; boolean p = m < n && m ++ < 17; System.out.println(p);//false // || 或 只要有一个为真都为真。true boolean p1 = m < n || m ++ < 17; System.out.println(p1);赋值运算符
//赋值运算符---自带强转功能的用法 int m1 = 12; //面试题,笔试题 short a = 6; a += 20;//a = (short)(a + 20); System.out.println(a);三目运算符
//三目运算符 boolean?数字1:数字2; int c = 33; int d = 88; int max = c > d ? c : d; System.out.println("max = " + max); if (c > d) { int max1 = c; }字符串连接符
//+ System.out.println("身高 " + a); //分别输出m和n System.out.println(m + "," + n);代码详解
王者荣耀段位
//王者荣耀 /* * 三步走: * 一.导包: * 1.手动导包,java.util.Scanner; * 2.红色的小叉叉,系统去修改。 * 3.快捷方式导包:ctrl+shift+o * 二.创建对象 * 三.接收数据 */ Scanner sc = new Scanner(System.in); System.out.println("请输入你的rank分数,进行段位查询:"); int rank = sc.nextInt(); if (rank < 50) { System.out.println("渣渣"); }else if(rank >= 50 && rank < 60){ System.out.println("黄金段位"); }else if(rank >= 60 && rank < 70){ System.out.println("铂金段位"); }else if(rank >= 70 && rank < 80){ System.out.println("钻石段位"); }else if(rank >= 80 && rank < 90){ System.out.println("星耀段位"); }else if(rank >= 90 && rank < 100){ System.out.println("最强王者"); }else{ System.out.println("无人能挡!"); } sc.close();