一、java语言概述
1、一种面对对象的编程语言
发展史
- 1991年成立Green-Teem项目小组,领导人是James Gosling詹姆斯·高斯林
- 1995年5月,Hot Java浏览器发布。
- 2009年4月,Oracle以74亿美元收购SUN
java版本
1.J2SE
2.J2ME
3.J2EE
4.Java5.0版本后,更名为 JAVASE JAVAME JAVAEE
jdk的介绍
JDK(Java Development Kit)称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一些Java工具和Java的核心类库(Java API)。不论什么Java应用服务器实质都是内置了某个版本的JDK。主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如,IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK
java应用领域
- 开发桌面应用程序
- 基于Web的应用程序
- 企业级应用。电信、移动、证券、企业信息化平台
- 移动互联网时代
java语言的特性
- Java语言是简单的
- Java语言是一个面向对象的
- Java语言是分布式的
- Java语言是安全的
- Java语言是多线程的
- Java语言是开源的
- java语言是跨平台的
搭建java开发环境
1、安装jdk
2、安装eclipse
二、java程序main函数
1.eclipse创建工程
2.编写代码并运行
看文档
1.程序的入口是main函数
注意:
- main函数的四要素:public,static, void, String[] args
- java的语句结束是用分号标明的,不能缺少了分号
解释:
- public是表示公有权限
- static是表示静态修饰,没有创建对象也能调用类中的静态方法
- main函数是程序的入口
- String是字符串类
案例:控制台打印出你自己的名字
package hahah;
public class lei01 {
public static void main(String[] args) {
System.out.println("hello gouogu");
}
}
//static表示静态,可以通过类名访问成员函数或成员变量
//void 表示函数没有返回值
//String[] args 这是main函数的形参
//mian函数是程序的入口地址
输出:hello 狗狗
标示符和关键字
- 用来标识类名、变量名、方法名、数组名、文件名的有效字符
- 标识符可由任意顺序的字母、数字、下划线(_)和美元符号($)组成
- 第一个字符不能是数字开头不能使用关键字
注释:
//单行注释
/*
多行
注释
*/
3、变量
变量的格式:
声明变量:数据类型 变量名=值;
例如:
package hahah;
public class lei02变量 {
public static void main(String[] args) {
int a=10;//声明变量
a=20;
System. out.println("a="+a);
int a1,a2,a3;
a1=10;
a2=20;
a3=30;
System.out.println("a1="+a1+ " a2="+a2+ " a3="+a3);//做拼接
System.out.printf("a1=%d"+" a2=%d"+" a3=%d",a1,a2,a3);
System.out.println();
System.out.printf("a1=%d\n",a1);
System.out.printf("a2=%d\n",a2);
System.out.printf("a3=%d\n",a3);
}
}
输出:
a=20
a1=10 a2=20 a3=30
a1=10 a2=20 a3=30
a1=10
a2=20
a3=30
四、数据类型及数据转换
基本数据类型的大小:(字节)
byte 1字节=8位
short 2
int 4
long 8
float 4
double 8
char 2
- 自动类型转换(隐式转换)
从存储范围小的类型到存储范围大的类型.
byte ->short(char)->int->long->float->double - 强制类型转换(显示转换)
是从存储范围大的类型到存储范围小的类型.
double→float→long→int→short(char)→byte
注意:
- 从大的数据类型转换到小的数据类型,需要强制转换,结果要用户自己控制
- 从小的数据类型转到大的数据类型,隐式转换就可以,不需要用户自己控制
package hahah;
public class 变量03 {
public static void main(String[] agrs) {
byte a=20;
System.out.println(a);
//隐式转换(自动转换)
float b=10.1f;
System.out.println(b);
double c=b;
System.out.println(c);
short d=(short)c;//强制转换(显示转换)在对象前加数据类型
System.out.println(d);
int a1=1006;
//强制转换为8位二进制,超出最高位舍弃,补码转原码+1
byte b1=(byte)a1;//强制转换(显示转换)在对象前加数据类型
System.out.println(b1);
boolean c1=true;//布尔类型
boolean c2=false;
System.out.println(c1);
System.out.println(c2);
}
}
输出:
20
10.1
10.100000381469727
10
-18
true
false
五、从控制台获取数据
package hahah;
import java.util.Scanner;//导包
public class 控制台输入 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner scan=new Scanner(System.in);//生成对象
System.out.print("姓名:");
//从控制台获取字符串
String str1=scan.next();
//System.out.println(str1);
System.out.print("年龄:");
String str2=scan.next();
//System.out.println(str2);
System.out.print("爱人:");
String str3=scan.next();
System.out.println("姓名:"+str1+" 年龄:"+str2+" 爱人:"+str3);
System.out.println("程序结束");
}
}
输出:
六、运算符
三目运算符
格式:
a>b?a:b;
//如果a>b为真,那么返回a,否则返回b
案例:从控制台输入三次整数,然后打印出最大的数值
package hahah;
import java.util.Scanner;
public class 三目运算符 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner scan=new Scanner(System.in);//生成对象
System.out.println("请输入三个数字:");
//使用类中的函数在控制台获取数据
int a1 = scan.nextInt();
int a2=scan.nextInt();
int a3=scan.nextInt();
//三目运算比较出最大数
int a4=a1>a2?a1:a2;
int a5=a4>a3?a4:a3;
System.out.print("最大数字为:");
System.out.println(a5);
}
}
输出:
if条件运算符
格式:
if(布尔表达式){
语句块;
}
注意:例(a>b等)里只能填布尔数值或布尔表达式
例子:猜数字,先设定一个数字,然后从控制台输入一个数字,如果比设定的数字大,提示你输入的数字大了,如果输入的数字小了,显示你输入的数字小了,如果输入正确,显示输入的数字正确
//猜数字,随机先设定一个数字,然后从控制台输入一个数字,
//如果比设定的数字大,提示你输入的数字大了,如果输入的数字小了,
//显示你输入的数字小了,如果输入正确,显示输入的数字正确
package hahah;
import java.util.Scanner;
import java.util.Random;
public class if作业 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//定义一个对象r
Random r=new Random();
//nextInt(x)方法用与获取 0-x 之间的整数数,不包括x。
int a=r.nextInt(100);
//生成对象
Scanner scan=new Scanner(System.in);
while (true) {
//用类的函数从控制台获取数据
System.out.print("输入数字:");
int b =scan.nextInt();
if (a<b) {
System.out.println("你输入的数字大了");
}
if (a>b) {
System.out.println("你输入的数字小了");
}
if (a==b) {
System.out.println("你输入的数字正确");
break;
}
}
}
}
输出: