java基础
2018-06-29 10:40:10 12 举报
AI智能生成
Java基础思维导图,Java基础思维导图,Java基础思维导图
作者其他创作
大纲/内容
1.初识Java
java发展史
Sun公司1995年推出的语言
java 之父 James Gosling
目前版本 java8
Java技术平台
Java SE java基础,oop,API ,JVM
java ME 移动,游戏,通信
java EE JSP EJB 框架
配置java 环境变量
下载JDK安装包,并安装
我的电脑,右键属性,高级系统设置,高级-环境变量
系统环境变量path 默认路径C:\Program Files\Java\jdk1.7.0_79\bin;设置到path环境变量中
java -version 显示出版本号,javac 命令可用表示配置完成
开发java 程序三步走
编写源程序.java 后缀结尾的文件
编译源程序 用javac命令编译
运行 用java命令运行
第一个java程序
public class HelloWorld {
public static void main(String[ ] args) {
System.out.println("Hello World!!!");
}
}
注意事项
类名首字母大写,类名与文件名相同
所以的大括号,小括号,中括号,引号,都是英文输入方状态下的,且都是成对存在的
注意区分大小写
MyEclipse工具的使用
java注释
//单行注释
/*
*多行注释
*/
/**
*文档注释
*/
java API
2.变量,运算符
数据类型
byte shot int long 整数型
float double 小数浮点型
char 单字符 ''
boolean 布尔 true false
String 字符串""
变量
声明 int a=10;
命名规则 首字母
1、字母
2、下划线‘_’
3、‘$’ 符号
4,驼峰
算术运算符
+加-减*乘/除%取余
赋值运算符
变量名 = 表达式; 把右边的值赋值给左边的变量
关系运算符
等于== 大于>小于<不等于!= 大于等于>=小于等于<=
复合运算符
+= -=
++ --
i++ 和++i 区别
i++是先赋值,再加1
++i是先自加1,然后再赋值
三元运算符
int min = 10 < 7 ? 10 : 7;
3.选择结构
switch(表达式){
case 常量:
break;
default:
break;
}
表达式 int char String enum枚举
可以嵌套使用
if ( 条件 ) {
//代码块
}else if(){
}else{
}
注意事项 条件判断,从大到小,或者从小到大
随机数
int random=(int)(Math.random()*10);
逻辑运算符
&&条件1 && 条件2仅仅两个条件同时为真,结果为真
||条件1 || 条件2只要两个条件有一个为真,结果为真
! ! 条件条件为真时,结果为假条件为假时,结果为真
运算符优先级顺序:
!>算术运算符>比较运算符>&&>||
if ( 条件 ) {
//代码块
}else{
}
4.循环结构
循环结构的特点
循环条件
循环操作
while ( 循环条件 ) {
循环操作
}
特点:先判断,再执行
while循环有可能一次都不会执行
do {
循环操作
} while ( 循环条件 );
先执行,再判断
do-while循环不管任何情况都至少执行一次
for(int i = 0; i < 5; i++){
}
break; 跳出整个循环 continue;结束当前循环进行继续进行下一次循环
7数组
二维数组
int[][] arr = new int[10][10];
for(int i=0;i
插入算法
public static void main(String[] args) {
int[] list = new int[] { 99, 85, 82, 63, 60 }; // 原始长度的素组
int index = list.length; // 保存新增成绩插入位置
System.out.println("请输入新增成绩: ");
Scanner input = new Scanner(System.in);
int num = input.nextInt(); // 输入要插入的数据
// 找到新元素的插入位置
for (int i = 0; i < list.length; i++) {
if (num > list[i]) {
index = i;
break;
}
}
// 原来的素组原始
// 元素[99, 85, 82, 63, 60]
// 下标[0, 1, 2, 3, 4]
System.out.println(Arrays.toString(list));
// 给原来的素组增加一个长度
list = Arrays.copyOf(list, list.length + 1);
// 增加后的素组元素
// 元素[99, 85, 82, 63, 60, 0]
// 下标[0, 1, 2, 3, 4, 5]
System.out.println(Arrays.toString(list));
// 元素后移
// 元素[99, 85, 82, 63, 60, 0]
// 下标[0, 1, 2, 3, 4, 5]
// 根据插入位置,假设插入位置下标是3,那么把3后面的所有值后移一个位置,变成
// 元素[99, 85, 82, 63, 63,60]
// 下标[0, 1, 2, 3, 4, 5]
for (int j = list.length - 1; j > index; j--) {
list[j] = list[j - 1]; // index下标开始的元素后移一个位置
}
System.out.println(Arrays.toString(list));
//然后在把插入位置的数替换成要插入的数据
list[index] = num;// 插入数据
System.out.println("插入成绩的下标是:" + index);
System.out.println("插入后的成绩信息是: ");
for (int k = 0; k < list.length; k++) { // 循环输出目前数组中的数据
System.out.print(list[k] + "\t");
}
}
打擂台,比大小
/**
* 求数组最大值
*/
public static void main(String[] args) {
int[] scores = new int[5];
int max = 0; //记录最大值
System.out.println("请输入5位学员的成绩:");
Scanner input = new Scanner(System.in);
for(int i = 0; i < scores.length; i++){
scores[i] = input.nextInt();
}
//计算最大值
max = scores[0];
for(int i = 1; i < scores.length; i++){
if(scores[i] > max){
max = scores[i];
}
}
System.out.println("考试成绩最高分为:" + max);
}
Arrays数组的工具类
sort()排序 升序
copyOf(arrays,length) 拷贝一个新数组
fill(arrays,val); 填充数组的值
equals(arrays,arrays1) 判断两个数组是否相同
toString(arrays); 把数组转化成字符串
数组的声明和使用
int[] arrayInt;
arrayInt = new int[5];
arrayInt[0] = 1;
int arrayInt[] = new int[5];
arrayInt[0] =10;
int[] arrayInt =new int[]{10,20,30};
int[] arrayInt={10,20,30}
数组特点
长度固定
数据类型相同
数组下标 从0开始
引用数据类型
数组长度.length 属性
双重循环
打矩形图案
public static void main(String[] args) {
System.out.println("打印矩形");
for(int i = 0; i < 5; i++){
for(int j = 0; j <5; j++){
System.out.print("*");
}
System.out.print("\n"); //换行
}
}
打直角三角形 奇数
public static void main(String[] args) {
int rows = 0; //三角形行数
System.out.print("请输入直角三角形的行数:");
Scanner input = new Scanner(System.in);
rows = input.nextInt();
//打印直角三角形
for(int i = 1; i <= rows; i++){
for(int j = 1; j <= 2*i-1; j++){
System.out.print("*");
}
System.out.print("\n");
}
}
打到直角 递减
public static void main(String[] args) {
int rows = 0; //三角形行数
System.out.print("请输入直角三角形的行数:");
Scanner input = new Scanner(System.in);
rows = input.nextInt();
//打印倒直角三角形
for(int i = 1; i <= rows; i++){
for(int j = 1; j <= rows+1-i; j++){
System.out.print("*");
}
System.out.print("\n");
}
}
打等腰三角形 结合
public static void main(String[] args) {
int rows = 0; //三角形行数
System.out.print("请输入等腰三角形的行数:");
Scanner input = new Scanner(System.in);
rows = input.nextInt();
//打印等腰三角形
for(int i = 1; i <= rows; i++){
for(int j = 1; j <= rows-i; j++){
System.out.print(" ");
}
for(int k = 1; k <= 2*i-1; k++){
System.out.print("*");
}
System.out.print("\n");
}
}
打印99乘法表
public static void main(String[] args) {
int rows = 9; //乘法表的行数
for(int i = 1; i<=rows; i++){ //一共9行
for(int j = 1; j <= i; j++){ //第i行有i个式子
System.out.print(j+"*"+i+"="+j*i+" ");
}
System.out.print("\n"); //打印完一行后换行
}
}
冒泡排序
public static void main(String[] args) {
int[] scores={16,25,9,90,23};
for (int i = 0; i < scores.length -1 ; i++)
{
for (int j = 0; j < scores.length -1 - i ; j++)
{
if (scores[j] > scores[j + 1])
{
// 交换元素
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
System.out.println("冒泡排序后:");
for(int score:scores){
System.out.print(score+"\t");
}
}
吃货联盟订餐系统
public static void main(String[] args) {
// 数据主体:一组订单信息
String[] names = new String[4]; // 订餐人名称
String[] dishMegs = new String[4]; // 所选菜品
int[] times = new int[4]; // 送餐时间
String[] addresses = new String[4]; // 送餐地址
int[] states = new int[4]; // 订单状态: 0:已预定 1:已完成
double[] sumPrices = new double[4]; // 总金额
//初始化2个订单信息
names[0] = "张晴";
dishMegs[0] = "红烧带鱼 2份";
times[0] = 12;
addresses[0] = "天成路207号";
sumPrices[0] = 76.0;
states[0] = 1;
names[1] = "张晴";
dishMegs[1] = "鱼香肉丝 2份";
times[1] = 18;
addresses[1] = "天成路207号";
sumPrices[1] = 20.0;
// 供选择的菜品信息
String[] dishNames = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" }; // 菜品名称
double[] prices = new double[] { 38.0, 20.0, 10.0 }; // 菜品单价
int[] praiseNums = new int[3];
Scanner input = new Scanner(System.in);
int num = -1; // 用户输入0返回主菜单,否则退出系统
boolean isExit = false; // 标志用户是否退出系统: true:退出系统
System.out.println("\n欢迎使用“吃货联盟订餐系统”");
// 循环:显示菜单,根据用户选择的数字执行相应功能
do {
// 显示菜单
System.out.println("****************************");
System.out.println("1、我要订餐");
System.out.println("2、查看餐袋");
System.out.println("3、签收订单");
System.out.println("4、删除订单");
System.out.println("5、我要点赞");
System.out.println("6、退出系统");
System.out.println("****************************");
System.out.print("请选择:");
int choose = input.nextInt(); // 记录用户选择的功能编号
boolean isAdd = false; //记录是否可以订餐
boolean isSignFind = false; //找到要签收的订单
boolean isDelFind = false; //找到要删除的订单
// 根据用户选择的功能编号执行相应功能
switch (choose) {
case 1:
// 我要订餐
System.out.println("***我要订餐***");
for (int j = 0; j < names.length; j++) {
if(names[j] == null){ //找到第一个空位置,可以添加订单信息
isAdd = true; //置标志位,可以订餐
System.out.print("请输入订餐人姓名:");
String name = input.next();
// 显示供选择的菜品信息
System.out.println("序号" + "\t" + "菜名"+"\t"+"单价");
for (int i = 0; i < dishNames.length; i++) {
String price = prices[i] + "元";
String priaiseNum = (praiseNums[i]) > 0 ? praiseNums[i]
+ "赞" : "";
System.out.println((i + 1) + "\t" + dishNames[i] + "\t" +price+"\t"+ priaiseNum);
}
// 用户点菜
System.out.print("请选择您要点的菜品编号:");
int chooseDish = input.nextInt();
System.out.print("请选择您需要的份数:");
int number = input.nextInt();
String dishMeg = dishNames[chooseDish - 1]
+" "+ number + "份";
double sumPrice = prices[chooseDish - 1] * number;
//餐费满50元,免送餐费10元
double deliCharge = (sumPrice>=50)?0:6;
System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
int time = input.nextInt();
while (time < 10 || time > 20) {
System.out.print("您的输入有误,请输入10~20间的整数!");
time = input.nextInt();
}
System.out.print("请输入送餐地址:");
String address = input.next();
//无需添加状态,默认是0,即已预定状态。
System.out.println("订餐成功!");
System.out.println("您订的是:"+dishMeg);
System.out.println("送餐时间:"+time+"点");
System.out.println("餐费:"+sumPrice+"元,送餐费"+deliCharge+"元,总计:"+(sumPrice+deliCharge)+"元。");
//添加数据
names[j] = name;
dishMegs[j] = dishMeg;
times[j] = time;
addresses[j] = address;
sumPrices[j] = sumPrice+deliCharge;
break;
}
}
if(!isAdd){
System.out.println("对不起,您的餐袋已满!");
}
break;
case 2:
// 查看餐袋
System.out.println("***查看餐袋***");
System.out.println("序号\t订餐人\t餐品信息\t\t送餐日期\t送餐地址\t\t总金额\t订单状态");
for(int i=0;i 0 ? praiseNums[i]
+ "赞" : "0赞";
System.out.println((i + 1) + "\t" + dishNames[i] + "\t" +price+"\t"+ priaiseNum);
}
System.out.print("请选择您要点赞的菜品序号:");
int priaiseNum = input.nextInt();
praiseNums[priaiseNum-1]++; //赞数加1
System.out.println("点赞成功!");
break;
case 6:
// 退出系统
isExit = true;
break;
default:
//退出系统
isExit = true;
break;
}
if (!isExit) {
System.out.print("输入0返回:");
num = input.nextInt();
} else {
break;
}
} while (num == 0);
System.out.println("谢谢使用,欢迎下次光临!");
}
0 条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定