java基础-基础语法和数据类型

2 java环境搭建

2.1 安装jdk和配置环境变量

# java 的开发环境,需要安装jdk
# java的运行环境,运行java项目,正常只需要装jre即可,但是好多人都装jdk
# 无论运行java程序还是开发java程序,直接装jdk即可


# jdk:java开发环境  Java Development Kit
# jre:java运行环境
# jvm:java虚拟机,java编译后的字节码文件运行在它上面

# jdk包含jre,jre包含jvm


# jadx是用java开发的,运行它,就装了jdk8,所以现在不需要装了

# 如果当时没弄,双击给你的安装包,一路下一步安装即可(我装在这里了):D:\Program Files\Java
	-在安装jdk后,会提示你是否安装jre--》这个提示,可以安装也可以不安装,建议安装
    -不装的话,其实在jdk的安装路径下有个jre
    
    
# 打开cmd,执行  
	java -version   #如果有输出,说明安装成功
    javac           #有输出,才ok,如果没有,需要配置环境变量
 

# 配置环境变量 如下图配置
	-在path中加入两个地址:
    	-D:\Program Files\Java\jdk-1.8\bin
        -D:\Program Files\Java\jre\bin
    -我写成了这样,是因为我配置了一个JAVA_HOME 的key,对应 ,方便以后升级,以后如果装了java其他版本,只需要改JAVA_HOME,其他的不需要懂
    	JAVA_HOME    D:\Program Files\Java\jdk-1.8
            
    	%JAVA_HOME%\bin   #D:\Program Files\Java\jdk-1.8\bin
		%JAVA_HOME%\jre\bin# D:\Program Files\Java\jdk-1.8\jre\bin

2.2 第一个helloworld

#1  开发环境搭建完了,我们可以开心的写java代码了
#2 使用记事本,notpad++,打开一个空文件,开始写代码即可
#3 写入以下内容
public class HelloWorld{
	public static void main(String[] args){
		System.out.println("hello world");
	}
}

# 4 保存,放到某个位置,我放到了 d盘根路径
# 5 打开cmd窗口,执行编译  --->生成一个同名的   HelloWorld.class  字节码文件
javac HelloWorld.java

# 6 运行字节码文件
java HelloWorld   # 就可以运行了,不要带  .class

# 7 顺利吧HelloWorld打印出来

2.3 编辑器选择和安装

# 要写好java代码,需要有一款趁手的编辑器 ---》python---》使用pycharm编写

# 有如下三种选择

# 1 Eclipse  https://www.eclipse.org/downloads/  早些年有人用,现在几乎不用了
Eclipse是一个免费的开源Java IDE,提供了丰富的功能和插件扩展。它支持Java应用程序、Web应用程序和企业级应用程序的开发,并具有强大的代码编辑、调试和测试工具。
# 2 My Eclipse 收费的  https://www.genuitec.com/products/myeclipse/   我刚工作那会用它
MyEclipse是一个专为Java开发而设计的集成开发环境(IDE),它是Eclipse IDE的一个商业化版本。MyEclipse提供了许多功能和工具,旨在提高Java开发人员的生产力和效率

# 3 IntelliJ IDEA:https://www.jetbrains.com/idea/download/other.html  用的最多,咱们也用它
IntelliJ IDEA是一种商业化的Java IDE,也有免费的社区版可用。它提供了智能代码完成、代码检查和重构等功能,支持Java开发以及其他相关技术,如Spring和Hibernate,同属于Jetbrains系列,使用习惯跟Pycharm类似,我们选择此编辑器


# 必须要使用 IDEA---》python转过来的,使用pychrm很习惯,使用idea也会很喜欢

捷克的jetbrains公司,有很多编辑器---》使用习惯,完全一样,只是写的代码不一样,你会非常适用
	-python---》pycharm
    -php---》phpStorm
    -前端vue---》webStorm
    -go----》goland
    -java---》IDEA
    -c语言---》clion
# 如果你喜欢使用别的编辑器:vscode  .... 使用习惯,快捷方式都不一样,你会很难受 


# 后期咱们要做安卓开发---》装一个ide---》AndroidStudio编辑器----》用起来你会发现它跟Pycharm,idea很像---》原因是---》谷歌公司买了jetbrains+ADT 组装成了这个ide,免费,谷歌花钱了

# 安装IDEA
	-下载:2023.1 版本
    -一路下一步安装
    
    
# 这个软件是收费的,很贵---》破解---》跟破pycharm一模一样
	-给你的破解软件 来到这个路径:
    	.\jihuo-tooll-2023.1\jetbra\scripts
    -win:双击运行  install-current-user.vbs  执行完会弹出 done
    -打开idea,填入我给的破解码,点activite
    


2.4 新建java项目并运行





3 java语法快速入门

3.1 程序入口

# java程序是有入口的,所有java代码的运行,必须从这开始
	-从一个类下的public static void main(String[] args) 这个方法开始运行
    
    
public class HelloWorld {
    public static void main(String[] args) {
        // 以后无论写多少代码,都是从这个位置开始执行
        System.out.println("hello world");
        System.out.println("hello world");
        System.out.println("hello world");
        System.out.println("hello world");
    }
}

3.2 文件名

# 文件名命名规范
	1 一个文件中,只能有一个叫public的类,并且文件名必须跟这个类同名,否则报错
    2 文件中可以有多个类,但是不能再出现 public的类
    3 如果文件中有多个类,并且没有一个用public修饰的,文件名可以随意
    
    
# 一个类长这样
class Animal {
}

# java 是一个纯面向对象语言,所有代码必须写在类中

3.3 类规范

##1 类命名规范之---》类的首字母必须大写,并且使用驼峰命名 
	HelloWorld  UserInfo 
    java中类名,方法名,变量名都建议使用驼峰命名法        AgeOfPerson
    python中类名使用驼峰;  方法,函数名变量名使用蛇形命名(下划线的)  age_of_person
    
    
## 2 类的修饰符 (写在类前面的单词),只有如下两种
	-public
    -不写(default)
    
    
## 3 类中成员(变量,方法)有修饰符
	-public:公有的,在其他类中,所有的类,可以直接使用
    -protected:受保护的,只能在当前包下的类中使用---》不明白包的概念--》后面会讲
    -private:私有的,只能在当前类中使用
    
    -不写(default):只能在当前包下的类中使用

### 4 类中静态成员(变量和方法)---》使用static修饰
	使用static修饰了成员(变量,方法),属于类,类来调用它

### 5 类中的方法:void表示该函数没有返回值,如果有返回值,必须写返回值类型
	-方法又分用static修饰的,不用static修饰的

4 java基础语法

4.1 注释

# 1 单行注释  
以双斜杠“//”标识,只能注释一行内容,用在注释信息内容少的地方
快捷键:【注释 ctrl+/ 】  【 取消注释 ctrl+/ 】

# 2 多行注释   
包含在“/*”和“*/”之间,能注释很多行的内容,可以换行
快捷键:【注释 ctrl+shift+/ 】 【取消注释 ctrl+shift+\ 】


### 3 文档注释
包含在“/**”和“*/”之间,也能注释多行内容,一般用在类、方法和变量上面,用来描述其作用。注释后,鼠标放在类和变量上面会自动显示出我们注释的内容

/**
* 定义了一个speak方法,传入两个参数a和b,返回 只是int类型
* @param a
* @param b
* @return
*/

4.2 变量和常量

#1  变量的定义
变量类型 变量名 = 变量值

//1 定义变量   定义了一个字符串类型变量  在方法中定义的变量,不能写修饰符
String name ="justin";
//1 定义变量   定义了一个int类型变量
int age =19;

#2  python中没有真正的常量,咱们约定俗成 全大写表示常量

# java中使用 final 修饰的是常量,以后不能改变
final String hobby="篮球";
hobby="足球";  // 常量不允许修改

4.3 输入输出

# 输出:打印到控制台上   print
//1  输出
// 输出并换行
System.out.println("justin");
System.out.println(18);
// 输出不换行
System.out.print("彭于晏");
System.out.print(33);

// 格式化输出
String name ="xxx";
int age =99;
System.out.printf("name的值是:%s\n",name);
System.out.printf("age的值是:%d\n",age);

# 输入:从控制台接受输入--有点小麻烦--》但是用的少  input
// 2 输入
// 实例化得到对象
Scanner sc = new Scanner(System.in);
// 开始获取用户的输入 文字,读一行
String inputName = sc.nextLine();
System.out.printf("您输入的内容是:%s", inputName);

4.4 条件语句

4.4.1 if else

#  if    ------  else if     -----          else 

# 用户输入一个分数,打印出是优秀,良好,及格,不及格

import java.util.Scanner;

public class Demo03 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String inputScore = sc.nextLine(); // 读出来是字符串类型
        // 强制类型转换,把inputScore字符串转成数字
        int score = Integer.valueOf(inputScore);

        if (score >= 90 && score <= 100) {
            System.out.println("优秀");
        } else if (score > 70) {
            System.out.println("良好");
        } else if (score >= 60) {
            System.out.println("及格");
        } else {
            System.out.println("不及格");
        }
    }
}

4.4.2 switch(了解)

import java.util.Scanner;
// 优雅的替换掉if-else  实际用的不多,python没有
public class Demo4 {
    public static void main(String[] args) {
        System.out.println("请输入您的分数:");
        Scanner scanner = new Scanner(System.in);
        int score = Integer.valueOf(scanner.nextLine()); // 强制类型转换为int
        switch (score) {
            case 99:
                System.out.println("恭喜您99分");
                break;
            case 88:
                System.out.println("恭喜您88分");
                break;
            default:
                System.out.println("不知道多少分");
        }
    }
}

4.5 循环

# while
# do while
# for 

4.5.1 while循环

        int count =0;
        while (count<10){
            System.out.println(count);
            //count++;
            //count+=1;
            count=count+1;
        }

4.5.2 do while循环

  int count = 0;
        do {
            System.out.println(count);
            count++;
        } while (count < 10);

4.5.3 for循环

        String [] names={"lqz","justin","彭于晏"};
        for (int i = 0; i < names.length; i++) {
            System.out.println(names[i]);
        }
        for (String n:names) {
            System.out.println(n);
        }

break/continue跟其他语言同理

5 数据类型

# java 中的基础数据类型     多个元素的集合类型先不讲

###java中基础数据类型如下
# 字节类型  byte
# 整数类型:
	 byte	带符号字节型	  8位	-128 ~ 127
     short	带符号字节型	  16位	-32768 ~ 32767
   	 int	带符号字节型	  32位	-231	-2147483648 ~ 2147483647
     long	带符号字节型	  64位	-263	-9223372036854775808 ~ 9223372036854775807
# 小数类型:浮点型
	float
    double
    
# 字符类型  char
# 字符串类型 String
# 数组类型 int[]  String[]  ...
# 布尔类型 blooean

5.1 字节类型

// 1 字节类型  -128127 ---》一个字节表示一个字符---》
// 一个字节有8个比特位 28次方种变化,第一位表示正负    +- 27次方-1 种变化 还要表示0
byte s1='b';  // 可以用单引号引起来的一个 ascii的字符
byte s2=97;  // 可以是个数字
System.out.println(s1);  // 打出来是数字
System.out.println(s2);
System.out.println((char) s1);  // 打印ascii码的值

5.2 整数类型

byte	带符号字节型	  8位	-128 ~ 127       #1个字节表示
short	带符号字节型	  16位	-32768 ~ 32767   #2个字节表示
int	带符号字节型	  32位	-231	-2147483648 ~ 2147483647 #4个字节表示
long	带符号字节型	  64位	-263	-9223372036854775808 ~ 9223372036854775807 # 8个字节表示

# 以后要定义人的年龄  可以使用byte类型表示

// 2 整数类型
byte a1 = 98;
short a2 = 666;
int a3 = 9999;
long a4 = 993932929;

5.3 小数类型

//float	   单精度	32位	  
//double	双精度	64位	
float f=1.123456789012f;
System.out.println(f);
double d=1.12345678901234567890d;
System.out.println(d);

5.4 字符类型

char v1 = 'x';
char v2 = '贾';
String v3 = "彭于晏";  字符串使用双引号

5.5 字符串类型

# 1 必须用双引号引起来

5.6 数组类型

        // 数组类型
        String [] names={"lqz","张三","李四"};
        names[0]="xxx";
        System.out.println(names[0]);
        System.out.println(names); //[Ljava.lang.String;@1b6d3586
        System.out.println(Arrays.toString(names)); //[Ljava.lang.String;@1b6d3586

        // 字节数组转字符串
        byte [] aa={97,'u',98};
        String v1=new String(aa);
        System.out.println(v1);
        // 字符数组转字符串
        char [] aa1={'中','国','爱'};
        String v11=new String(aa1);
        System.out.println(v11);

5.7 布尔类型

boolean b=true;
b=false;
System.out.println(b);
posted @   simon_T  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示