首页 > 编程语言 >java基础-基础语法和数据类型

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

时间:2023-10-05 10:33:43浏览次数:41  
标签:java String 基础 数据类型 System --- println out

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 字节类型  -128到 127 ---》一个字节表示一个字符---》
// 一个字节有8个比特位 2的8次方种变化,第一位表示正负    +- 2的7次方-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);

标签:java,String,基础,数据类型,System,---,println,out
From: https://www.cnblogs.com/simon1993/p/17743133.html

相关文章

  • JavaScript中的888
    1、最新的ECMAScript标准定义了8种数据类型:包括七种基本数据类型和一种引用类型:类型说明Boolean有2个值分别是:true和false。null一个表明null值的特殊关键字。undefined和null一样是一个特殊的关键字undefined表示变量未赋值时的属性。Number......
  • 计算机基础知识
    ⦁ 信息学奥赛简介:NOIP:全国青少年信息学奥林匹克联赛是教育部认可的五大学科(数学,物理,化学,生物,信息学)竞赛之一,由1984中国计算机学会(CCF)创办,联赛分为普及组和提高组。复赛可以使用c,c++,Pascal语言,2022年后只能使用c++。CSP-J/S:2019年CCF推出CSP(软件能力认证),CSP-J/S(非专业级别认证),C......
  • 408_C语言基础
    408_C语言基础学习内容掌握以下知识点足以应付408考试了:常量、变量、运算符、流程控制、函数、指针、结构体。变量变量其实只不过是程序可操作的存储区的名称。C中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上......
  • 【基础算法】排序算法 —— 插入排序
    一、算法原理插入排序将数组分为已排序区间和未排序区间,初始已排序区间只有数组第1个元素,未排序区间从下标1开始到数组末尾。每次取未排序区间的第1个元素,将它插入已排序区间的合适位置,并保证已排序区间一直有序。重复这个过程,直到未排序区间为空,算法结束。给有序数组(已排序区......
  • Java8 新特性
    一、十大特性Lambda表达式Stream函数式操作流元素集合接口新增:默认方法与静态方法方法引用,与Lambda表达式联合使用引入重复注解类型注解最新的Date/TimeAPI(JSR310)新增base64加解密API数组并行(parallel)操作JVM的PermGen空间被移除:取代它的是Metaspace(JEP122) ......
  • JavaSE(07) - API -String字符串
    JavaSE(07)-API-String字符串p96API和API帮助文档p97String概述java.lang.String类代表字符串,java程序中的所有字符串文字(例如"abc")都是此类的对象.注意点:字符串的内容是不会发生改变的,他的对象在创建后不能被更改.p89String的构造方法代码实现和内存分析......
  • JavaSE(08) - 集合 - ArrayList
    JavaSE(08)-集合-ArrayListp111ArrayList基本使用创建集合对象,泛型:限定集合中的数据类型.在jdk7中,后面的<>中可以不写数据类型.集合在底层做了一些处理,打印对象不是地址值,而是集合中存储的内容.publicclassArrayListBasic{publicstaticvoidmain......
  • 关于 Failed to bind properties under 'sky.alioss.access-key-id' to java.lang.Str
    问题描述废话不多说,上截图解决方案问题出现的原因:因为自己没有按照格式去运行程序,在yml中把他们得位置向前一个单位就解决问题了......
  • Java数据单位转换
    Java数据单位转换Java将byte数据量转换为带适合单位的值,Java9以上适用importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.util.regex.Pattern;/***Convertbytevaluestovalueswithappropriatedataunits*/publicclassConversion{......
  • Java 集合框架
    一、集合框架图简化图:说明:对于以上的框架图有如下几点说明1.所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。2.集合接口:6个接口(短虚线表示),表示不同集合类......