第一章IDEA
1.IDEA简介(集成开发工具)
(1)大部分企业要用
(2)提高开发效率
a.自动保存编译
b.语法检测
c.高亮JAVA中专有词
d.自动补全
循环次数.fori
概念--IntellijIEDA
1.智能的
2.头脑灵活
特点
1.IDEA是用Java写的。桌面应用程序,
2.开发java的
2.IDEA下载安装
(1)先下载在安装
https://www.jetbrains.com/idea/
(2)已下载好/然后安装
1.双击exe
2.next
3.选择安装路径
4.文件夹不要中文不要空格不要在c盘
5.Finish
3.创建项目
Project工程/项目
1.Create New Project
2.Java类型,如果没有指定JDK路径的,选择下JDK路径
3.next
4.给Project Name工程名
4.创建包
创建包,本质就是文件夹
用来管理java源代码文件
项目中使用包管理源代码,方便查找
如何创建
1.选中src
2.右键菜单F开头的
3.new包
名称
规范
一般在公司中使用公司到写的域名
itheima.com
包名:com.itheima.项目名
idea中包含中的.表示包含
在window中使用\表示包含
5.创建类及运行
1.选中包
2.右键菜单new
3.Java Class
4.写main
5.打印
6.右键Run
在idea中写完代码,将自动保存并且编译
省略类保存和javac 文件名+扩展名
运行只要右键Run就可以 省略了 java 文件名
6.IDEA工程的目录结构
out工程存放编译生成的.class文件
src存放你写的代码
7.修改IDEA的代码字体大小
File->Settings->Editor->Font
1,修改一个合适自己的大小
2,低频率,
8.修改IDEA主题
- 软件/系统 外观
- 个性
白天
黑夜
- 低频率
- File ->Settings->App... - >Theme ->
9.IDEA中常用的快捷键
alt+enter 导入包,自动修正代码
ctrl+alt+l 自动调整代码的格式
ctrl+y删除光标所在行
ctrl+d复制粘贴当前行
ctrl+/当行注释
ctrl+shift+/ 选中代码,多行注释,再按取消注释
alt+shift+上下箭头 移动当前代码行
10.自定义快捷键
1.不起作用 和别的快捷建冲突
2.ctrl+空格表示补全
3.使用次数少
File->Settings->keymap->Main menu->code->Completion->Basic
11.IDEA的快速生成代码模板
idea中包含常用的代码,打几个简单的字母。自动生成
提高写代码速度
public class Demo {
//psvm main方法
public static void main(String[] args) {
int num = 10;
//sout 打印语句
System.out.println(num);
//变量名.sout
System.out.println(num);
//循环for
//fori
/*for (int i = 0; i < 10 ; i++) {
System.out.println(i);
}*/
//次数.fori
//次数.forr
for (int i = 0; i < num; i++) {
}
for (int i = num; i > 0; i--) {
}
}
}
12.打开&关闭&多开项目
1.关闭 点x关闭的是idea软件
2.打开 open
3.每个项目都用idea
13.方法的定义和调用回顾
1.将相同的代码进行封装,通过调用使用,可以重用代码
2.定义
public static void 方法名(){}
3.使用
方法名();
4.例子5*8的长方形
package com.itheima.demo04两个明确;
public class Demo {
public static void main(String[] args) {
int num = sum(3,4);
System.out.println(num);
int num2 = sum1();
System.out.println(num2);
}
public static int sum1(){
int a = 10;
int b = 20;
int sum = a+b;
return sum;
}
/*
1, 参数列表
几个未知量
写成未赋值的变量
变量1,变量2
int a , int b
int num1 , int num2
2,返回值类型
int
*/
public static int sum(int a,int b){//int a = 10,int b = 20
int sum = a+b;
return sum;
}
}
14.方法定义的完整格式
完整格式 = 简明版 + 参数列表 + 返回值类型
1.参数列表
2.返回值类型
public sttatic 返回值类型 方法名(参数列表){方法体;return 返回值;}
方法名:见名知意+小驼峰
参数列表:表示未知
返回值:方法计算的结果,会将给返回给调用处
return 返回值;
System。out。println("end")
1.为了将返回值交给条用处
2.表示方法未结束
返回值类型:计算结果的数据类型,如果没有计算结果就写void
1.基本
byte short int long char float double boolean
2.引用
String
15.方法定义的俩个明确
1.先定义后使用,定义要调用
2.考虑好参数列表,返回值类型
例子
package com.itheima.demo04两个明确;
public class Demo {
public static void main(String[] args) {
int num = sum(3,4);
System.out.println(num);
int num2 = sum1();
System.out.println(num2);
}
public static int sum1(){
int a = 10;
int b = 20;
int sum = a+b;
return sum;
}
/*
1, 参数列表
几个未知量
写成未赋值的变量
变量1,变量2
int a , int b
int num1 , int num2
2,返回值类型
int
*/
public static int sum(int a,int b){//int a = 10,int b = 20
int sum = a+b;
return sum;
}
}
1.没有参数列表,方法就不能接受条用处给的实际数据
2.没有返回值类型,不知道在调用处应该定义一个什么样子的变量来接收
16.方法的调用流程
1.从条用处找到这个方法
2.传参,将条用处的实际参数给参数列表
3.执行方法体计算得到结果
4.通过returen返回值:将结果交给调用处
17.方法的练习
有参有返回值的方法
package com.itheima.demo05练习1;
public class Demo {
public static void main(String[] args) {
//比较两个整数是否相同
//方法调用就一个格式 方法名(...);
//定义一个变量要接收返回值,要使用变量保存这个返回值
//该变量的类型必须跟返回值类型
/* boolean r = isSame(20,20); //赋值调用
if(r){
System.out.println("相等");
}else{
System.out.println("不相等");
}*/
// System.out.println(isSame(1000,2000));//打印调用
isSame(100,200);//直接调用
}
/*
参数列表
未知量
int a,int b
int x,int y
int num1,int num2
返回值类型
boolean
*/
public static boolean isSame(int a,int b){
/* boolean result;
if(a == b){
result=true;
}else{
result=false;
}
return result;*/
/* boolean result = a == b? true:false;
return result;*/
/* boolean result = ( a == b );
return result;*/
return a==b;
}
}
无参有返回值的方法
package com.itheima.demo06练习2;
public class Demo {
public static void main(String[] args) {
//计算1+2+3...+100的和 方法名(...);
int r = getSum();
System.out.println("和:"+r);
}
/*
参数列表
留空
1,留空,无参
2,不留空,有参
返回值类型
int
*/
public static int getSum(){
int sum = 0; //将所有的整数累加到这个变量上
for (int i = 1; i <= 100; i++) {
sum+=i;//sum = sum +i;
}//end
return sum;
}
}
有参无返回值的方法
package com.itheima.demo07练习3;
public class Demo {
public static void main(String[] args) {
//实现不定次数 x 打印
printXHelloWorld(10);
//看到void 作返回值类型,不能定义变量接收,void表示没有返回值
//也能打印
}
/*
1,参数列表
表示未知量
int num
2,返回值类型
void
没有计算结果返回
*/
public static void printXHelloWorld(int num){//num = 10
for (int i = 0; i < num; i++) {
System.out.println("媳妇我错了");
}
}
}
无参无返回值的方法
package com.itheima.demo08练习4;
public class Demo {
public static void main(String[] args) {
printHello();
}
//定义方法打印10次Hello
/*
参数列表
留空
返回值类型
void
*/
public static void printHello(){
for (int i = 0; i < 10; i++) {
System.out.println("HelloWorld");
}
}
/* public static int getNum(){
//return 1;
//return 3.14;
return "HelloWorld";
}*/
}
18.方法的定义注意事项
1.定义的位置在类中方法外
2.参数列表,有未知量
3.返回值类型,方法内要return 返回值;调用可以定义变量接收
4.返回值类型 必须和返回的结果类型一致
public static int getNum(){
//return 1;
//return 3.14;
return "HelloWorld";//报错
}
19.方法的三种调用格式
1.变量类型 变量名 = 方法名(参数);
赋值调用 第一个
定义跟返回值类型一样的变量来接收返回值
boolean r = isSanme(100,200)
2.System.out.println(方法名(参数));
变量都不想定义,还要调用
1和2适合返回值类型不是void的
3.变量名();
直接调用,使用于返回值类是void的
20.方法重载overload的概念
减少程序员记忆的负担
在同一个类中,多个功能一样的方法写成方法名相同
参数列表必须不同
JVM先找到方法名
然后根据参数列表来区分
(1)参数类型必须不同
(2)参数个数必须不同
(3)顺序必须不同
package com.itheima.demo09方法重载;
public class Demo {
public static void main(String[] args) {
/* byte b1 = *//*(byte)*//*10;
byte b2 =*//*(byte)*//*20;
boolean result = compare(b1,b2);//byte byte
System.out.println(result);*/
/* boolean result = compare(10,20,30);
System.out.println(result);*/
boolean result = compare(10,20L);
System.out.println(result);
}
//两个byte 两个short 两个int
//是否相等
public static boolean compare(byte a,byte b){
System.out.println("compare byte byte ");
return a == b;
}
public static boolean compare(short a,short b){//1,类型不同
System.out.println("compare short short ");
return a == b;
}
public static boolean compare(int a,int b){
System.out.println("compare int int ");
return a == b;
}
public static boolean compare(int a,int b,int c){//2,个数不同
System.out.println("compare int a,int b,int c");
return a == b;
}
public static boolean compare(int a,long b){//3,个数类型都一样,顺序不一样
System.out.println("compare int a,long b");
return a ==b;
}
public static boolean compare(long a,int b){
System.out.println("compare long a,int b");
return a ==b;
}
/*public static boolean compare(long x,int y){ //错误
System.out.println("compare long a,int b");
return x ==y;
}*/
/*
public static int compare(long a,int b){//错误
System.out.println("compare long a,int b");
return 20;
}*/
}
21.方法重载练习2_模拟println方法
package com.itheima.demo10println;
public class Demo {
public static void main(String[] args) {
/* System.out.println("全城热恋");
System.out.println('恋');
System.out.println(10);
System.out.println(3.14);*/
//以方法都是打印功能,名字一样,参数列表不一样,叫做重载
println("全城热恋");
}
public static void println(String s){
System.out.println("println(String s)");
System.out.println(s);
}
public static void println(char s){
System.out.println(s);
}
public static void println(int s){
System.out.println(s);
}
}
扩展循环
倒三角形的打印
package com.itheima.deom10三角形;
public class Demo {
public static void main(String[] args) {
//正方形
//倒三角
printSanJiao();
}
public static void printSanJiao(){
//1 - 9
//2 - 7
//3 - 5
//4 - 3
//5 - 1
for (int h = 1; h <= 9; h++) {
//行
for (int l = 1; l <= 9; l++) {
//
if(l<h || l> 10-h){
System.out.print(" ");
}else{
System.out.print("* ");
}
}
System.out.println();
}
}
}