一、环境介绍
idea --集成开发环境 "一站式开发"。能创建Java,web,maven等项目类型。
二、文件介绍
(1)src:存储Java源码的地方。
(2).idea: 是idea平台为每一个项目自动生成的文件包。
(3)demo.iml 系统平台文件
(4)libraries(jar包):包含功能插件
三、创建包/目录/文件夹(package)
==>阿里规约:不存在不在包里的文件
==>创建包:包名必须全小写 ;包结构通过点符号表示 ;一般来说,包名是域名的倒序
端口号+ip ==>域名:https://www.xxx.com ==>包名是com.xxx.xxx
四、创建类 :一个信息载体
class 类:一个信息的载体,相当于“一张纸” ; .java ===类,类名首字母大写。
interface 接口:Java.7--接口-内部类-异常处理-优快云博客
五、运算符
a.赋值运算符: = += -= eg:int a=9; a+=3;a=a+3
b.关系运算符: > < >= <= == !=
c.逻辑运算符: && || !
d.算术运算符: + - * / % 10%3=1
六、所有编程语言学习的顺序
1.输出语句
sout 回车 输出语句
System.out.println();输出后换行
System.out.print();输出后不换行
\t 空格
\n 换行
2.输入语句
保姆 张 = 新的 保姆岗位 (工作地点)
声明一个做保姆的人 张 提前设置一个岗位 保姆岗
Scanner zhang=new Scanner(System.in);
System.in 输入流
声明一个
3.变量
4.选择结构
5.循环结构
6.方法
七、基本类型与引用类型
final String a 是常量
String a 是变量
1.java里的容器类型
a.基本类型(能带着的都是基本):4种 8个
a.1整数类型:
byte (1个字节,8位,最大到数值127)
short (2个字节,16位,最大到3千)
int (4个字,32位,到21亿)
long (8个字节64位)
a.2小数类型:
float (4个字节,小数点后边32位)
double (8个字节)
a.3布尔类型:boolean 0/1 真/假
a.4字符类型:char (2个字节,一个汉字,一个字母,一个符号)
b.引用类型:Scanner String
(带不走的都是引用 : 房子,老家() 有个地址 可以访问)
2.基本类型容器
2.1.声明变量(通知内存开辟一个空间): 变量类型 变量名;
2.2.给变量赋值:变量类型 变量名 =数值;
int age=9;
int age=input.nextInt();
2.3.使用变量: sout(age);//输出age
3.引用类型容器
3.1.声明变量: 变量类型 变量名 ;
Scanner input ;
3.2.给变量赋值:变量名=new 变量类型();
input =new Scanner();
----> 变量类型 变量名=new 变量类型();
----> Scanner input=new Scanner(System.in);
3.3.使用: 打点.调用方法();
input.next().var 回车-->String age=input.next();
八、万年历1.0
package com.demo;
import java.util.Scanner;
public class Demo1 {
/* 修饰符 修饰符 demo 类名
public 公有的类 大家都可以用 权限修饰符(共4种)
class 类,表明资源文件是什么类型的
程序入口 psvm 回车
固定格式:
public static void main(String[] args) {
公有的 静态的 返回值
public入口 为了让虚拟机找到程序入口
static程序运行前,就提前加载出来的,提前创建出来的,提前创建出来的,提起存在的 入口是要先存在的,所以用静态变量 运行的时候入口是必须要有的
void 返回值为空 void 代表着”结束“ main()方法是程序的入口,也是出口 main不能改名
String[] args :参数 参与任务完成的数值 (需要外界的一些数值写到小括号里 不需要可以为空)
}
在java中,单词() 一定是一个 方法,方法完成一个任务 例如void()
*/
public static void main(String[] args) {
//0.从控制台扫描数据
System.out.println("请您输入年份:");//在控制台输入,在sout 编译器接收 (IO流)
Scanner input = new Scanner(System.in);
//int year 类型 变量 相当于一个兜 装接收到的数据
int year = input.nextInt();// 表示读取到的下一个单词 给year
System.out.println("请您输入月份:");
int month = input.nextInt();
System.out.println(year + "年" + month + "月");
//1.算月份有多少天
//规则:
// 1 3 5 7 8 10 12 这些月份是31天;
// 4 6 9 11这些月份是30天;
// 2月份 闰年29天 平年28天
//闰年:年份能整除4并且不能整除100 或者 能整除400
//====> year % 4 == 0 && year % 100 != 0 || year % 400 == 0
int days = 0;
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
days = 31;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
days = 30;
} else {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
days = 29;
} else {
days = 28;
}
}
//2.算输入月份的1号是星期几
// 规则:(整年的天数+整月的天数+天数)%7 1900.1.1 是 星期一
// => week = (sumYear + sumMonth + 1) % 7 == 0 ? 7 : (sumYear + sumMonth + 1) % 7
// 例如:1902年4月2日
// 思路:
// 1.先计算输入的年份与1900相差年的天数;
// 2.再算输入的月份有多少天;
// 3.再加上日期的天数;
// 4.三个值相加对7取余;
// 如果等于0为星期日,
// 否则余数是多少就是星期几
//思路1. 计算 输入的年份 与1900 相差的天数 闰年366天 平年365天
int sumYear = 0;
for (int i = 1900; i < year; i++)//输入年份到1900年的 每一年都要加 但不包含没过完的年
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
sumYear += 366;
} //sumYear=sumYear+366
else {
sumYear += 365;
}
}
//思路2. 计算 输入的月份 距离 输入的年份的 1月 有多少天
int sumMonth = 0;
for (int i = 1; i < month; i++)//从1月份开始到输入月份的每个月都要加
{
if (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) {
sumMonth = sumMonth + 31;
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
sumMonth += 30;
} else {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
sumMonth += 29;
} else {
sumMonth += 28;
}
}
}
//思路3-4 计算输入月份的 1号 是星期几?
int week = (sumYear + sumMonth + 1) % 7 == 0 ? 7 : (sumYear + sumMonth + 1) % 7;
//3.打印日历:
System.out.println("一\t二\t三\t四\t五\t六\t日");
for (int i = 1; i < week; i++) {
System.out.print("\t");
}
for (int i = 1; i <= days; i++) {
System.out.print(i + "\t");
if ((sumYear + sumMonth + i) % 7 == 0) {//能被7整除 输出换行 跳出if
System.out.println();
}
}
}
}