第一个程序 Hello,World!

  1. 随便新建一个文件夹,存放代码
  2. 新建一个Java文件
    • 文件后缀名为java
    • Hello.java
    • 【注意点】系统可能没有显示后缀名,必须手动打开
  3. 编写代码
public class Hello{
public static void main(String[] args){
System.out.print("Hello,World!");
} }
  1. 编译 javac java文件(加后缀),会生成一个class文件
  2. 运行class文件 Java文件(不需要加后缀)

可能遇到的情况

  1. 每个单词注意大小写
  2. 输出内容尽量用英文
  3. 文件名和类名(class)必须保持一致
  4. 符号使用了中文,必须用英文



IDEA安装

IDE:集成开发环境

  1. 百度搜索IDEA 下载安装
  2. 安装下一步下一步 注意只选 64-...和 java
  3. 安装后运行 新建项目 百度可以搜索IDEA性能优化,设置好后
  4. 新建一个空项目,new project----enpemty---打开后空项目new---Module--next--next---Finish

    打开后输入快捷键pvsm sout可快速输入



Java基础语法

  1. 注释
  • 单行注释://
  • 多行注释:/* 注释内容 */
  • 文档注释:/** * * */
  1. 标识符
  • 关键字
  • 所有标识符都应该以字母(A-Z或a-z),美元符号$、或下划线()开始
  • 首字符之后可以是字母(A-Z或a-z),美元符号$、或下划线()或数字的任意组合
  • 不能使用关键字作为变量名或方法名
  • 标识符的大小写是敏感的
  • 合法标识符举例:age、$salary、_value、 _1_value
  • 不合法标识符举例:123abc、-salary、#abc
  1. 数据类型
  • java属于强类型语言:要求变量使用要严格符合规定,所有变量必须定义后才能使用(安全性高,运行速度慢)

    1. 基本数据类型:

      • 数值类型 --->整数

        ​ --->浮点

        ​ -->字符

      • 布尔类型 true false

    2. 引用数据类型

      • 接口
      • 数组
public class Demo02 {
public static void main(String[] args)
//八大基本数据类型
int num1 = 10; //最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L; //long类型要在数字后面加个L
//浮点数
float num5 = 50.1F; //浮点型要在数字后面加个F
double num6 = 3.14159265
//字符
char name = '国';
//String name = "zhaoweihang"
//布尔型 是非
boolean flag = true;
boolean flag1 = false;
}
}
public class Demo03 {
public static void main(String[] args) {
//整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010; //八进制0
int i3 = 0x10; //十六进制0x 0-9 A-F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("=============================");
//====================================================
//浮点数拓展? 银行业务怎么表示?钱
//BigDecimal 数学工具类
//====================================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较
//最好完全使用浮点数进行比较 //尽量不用浮点数进行比较
float f = 0.1f; //0.1
double d = 1.0/10; //0.1 System.out.println(f==d); //false float d1 = 2132123123123f;
float d2 = d1 + 1; System.out.println(d1==d2); //true //====================================================
//字符拓展
//====================================================
System.out.println("=============================");
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1); //强制转换
System.out.println(c2);
System.out.println((int)c2); //强制转换
//所有字符本质还是数字
//编码 Unicode 表:97 = a 2字节 0-65536 2的16次方=65536 char c3 = '\u0061';
System.out.println(c3); //a //转义字符
// \t tab键 \n换行
System.out.println("Hello\tWorld!");
System.out.println("=============================");
String sa = new String("hello world1");
String sb = new String("hello world1");
System.out.println(sa==sb); String sc = "hello world!";
String sd = "hello world!" ;
System.out.println(sc==sd); //对象 从内存分析 //布尔值拓展
boolean flag = true; if (flag==true){} //新手
if (flag) {} //老手
// less is more 代码要精简易读 }
}
}
  1. 类型转换

    • 由于Java属于最强类型语言,所以需要有些运算的时候,需要用到类型转换

    ​ 低---------------------------------------------------------------->高

    ​ byte , short , char --->int-------->long------->double

    • 运算中,不同类型的数据必须转化为同一类型,才可进行运算
    • 强制类型转换
    • 自动类型转换



    public class Demo04 {
    public static void main(String[] args) {
    int i = 128;
    byte b = (byte) i; //内存溢出 //强制转换 (类型)变量名 高---->低
    //自动转换 低----->高 int i1 = 128;
    double b1 = i1; System.out.println(i);
    System.out.println(b);
    System.out.println(i1);
    System.out.println(b1); /*
    注意点:
    1.不能对布尔值进行转换
    2.不能把对象类型转换为不相干的类型
    3.在把高容量转换为低容量时候,强制转换
    4.转换的时候可能存在内存溢出或精度问题!
    */
    System.out.println("================================");
    System.out.println((int) 23.7); //23
    System.out.println((int) 45.89F); //45
    System.out.println("================================");
    char c = 'a';
    int d = c+1;
    System.out.println(d);
    System.out.println((char) d); }
    }
    public class Demo05 {
    public static void main(String[] args) {
    //操作比较大的数的时候,注意溢出问题
    //JDK7新特性, 数字之间可以用下划线分割,且不会被打印出
    int money = 10_0000_0000;
    System.out.println(money);
    int year = 20;
    int total = money*year;//-1474836480 计算的时候溢出了
    long total2 = money*year;//计算前就已经溢出了 long total3 = money*((long)year); //先转换在计算就不会溢出了
    System.out.println(total);
    System.out.println(total2);
    System.out.println(total3);
    }
    }
  2. 变量:可以变化的量

    • java是一种强类型语言,每个变量必须声明其类型

    • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

    • type  varName  [=value][{,varName[=value]{}];
      //数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量,但是不建议单行定义多个变量
    • 主要事项:

      • 每个变量必须都有类型,类型可以是基本类型,也可以是引用类型
      • 变量名必须是合法标识符
      • 变量声明是一句完整的语句,因此每一个声明必须以分号结束。
    • 变量作用域

      • 类变量
      • 实例变量
      • 局部变量
      public class Veriable{
      static int allClicks=0; //类变量
      String str = "hello world"; //实例变量 public void method(){
      int i = 0; //局部变量
      }
      }
      public class Demo07 {
      
          //类变量  static  即静态
      static double salary = 2500; //属性:变量
      //实例变量:从属于对象;如不自行初始化,输出这个类型的默认值 0.0.0
      //布尔值:默认值是false
      //除了基本类型,其余全是null;
      String name;
      int age; //main方法
      public static void main(String[] args) {
      //局部变量:必须声明和初始化
      int i =10;
      System.out.println(i);
      //变量类型 变量名字 = new Demo07();
      Demo07 demo07 = new Demo07();
      System.out.println(demo07.age);
      System.out.println(demo07.name); //类变量 static
      System.out.println(salary); }
      //其他方法
      public void add(){
      //System.out.println(i);
      }
      }
  3. 常量 初始化后不能改变的量! 不会变动的数值

    • 所谓的常量可以理解为一种特殊的变量,它的值被设定后,在程序运行中不允许改变

    • final 常量名= 值
      final double PI = 3.14;
    • 常量名一般使用大写字母

    • public class Demo08 {
      //修饰符 不存在先后顺序
      static final double PI = 3.14; public static void main(String[] args) {
      System.out.println(PI);
      }
      }
  4. 变量命名规范

    • 所有变量、方法、类名:见名知意
    • 类成员变量:首字母小写和驼峰原则 monthSalary
    • 局部变量:首字母小写和驼峰原则
    • 常量:大写字母和下划线 MAX_VALUE
    • 类名:首字母大写和驼峰原则 Man GoodMan
    • 方法名:首字母小写和驼峰原则 run() runRun()

第2天 第一个程序&IDEA安装&Java基础语法的更多相关文章

  1. 黑马程序员:Java基础总结----类加载器

    黑马程序员:Java基础总结 类加载器   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 类加载器 Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个 ...

  2. 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程

    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...

  3. 黑马程序员:Java基础总结----泛型(高级)

    黑马程序员:Java基础总结 泛型(高级)   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 泛型(高级) 泛型是提供给javac编译器使用的,可以限定集合中的输入类型 ...

  4. 黑马程序员:Java基础总结----静态代理模式&动态代理

    黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {   ...

  5. 黑马程序员:Java基础总结----枚举

    黑马程序员:Java基础总结 枚举   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 枚举 为什么要有枚举 问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别 ...

  6. 黑马程序员:Java基础总结----正则表达式

    黑马程序员:Java基础总结 正则表达式   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 正则表达式 import  java.util.regex.*; 符合一定规 ...

  7. 第一章 –– Java基础语法

    第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...

  8. 黑马程序员:Java基础总结----反射

    黑马程序员:Java基础总结 反射   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 反射 反射的基石:Class类 Class类代表Java类,它的各个实例对象又分别 ...

  9. 黑马程序员:Java基础总结----JavaBean 内省

    黑马程序员:Java基础总结 JavaBean 内省   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! JavaBean  内省 软件包 java.beans 包含与开 ...

随机推荐

  1. 【NX二次开发】Block UI OrientXpress

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  2. 【NX二次开发】 获取体的面 UF_MODL_ask_body_faces

    获取体的面 1 extern DllExport void ufsta(char *param, int *returnCode, int rlen) 2 { 3 UF_initialize(); 4 ...

  3. 从 SQL 到 MongoDB,这一篇就够了

    很多开发者首次接触数据库(通常是在高校课堂)的概念,或者说接触第一个数据库,通常是 SQL 数据库,而现在,NoSQL 数据库后来居上,很多原 SQL 数据的使用者难免有转向 NoSQL 的需求.而作 ...

  4. VBS脚本编程(1)——数据类型、变量和常量

    数据类型 VBS只有一种数据类型,称为Variant.而该类型是可变的,以下是Variant的子类型: 子类型 描述 Empty 未初始化的Variant.对于数值变量,值为0:对于字符串变量,值为零 ...

  5. Java知识复习(四)

    最近准备跳槽,又要好好复习基本知识了.过了个年,前面刚接触的springboot也只能先放放了.就先把自己复习了哪些罗列出来吧. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用== ...

  6. 从HTTP到HTTPS

    从HTTP到HTTPS HTTP存在的缺陷 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改 防窃听 通信加密 HTTP 协议 ...

  7. 写DockerFile的一些技巧

    Docker镜像由只读层组成,每个层都代表一个Dockerfile指令.这些层是堆叠的,每一层都是前一层变化的增量.示例Dockerfile: ​ FROM ubuntu:15.04 COPY . / ...

  8. Go语言中的有缓冲channel和无缓冲channel区别

    Go语言中的有缓冲channel和无缓冲channel区别 结论 ch1:=make(chan int)// 无缓冲 ch2:=make(chan int,1)// 有缓冲 无缓冲: 当向ch1中存值 ...

  9. JUL 日志框架

    1.JUL 简介 JUL 全称 Java Util Logging,位于java.util.logging.Logger 包.它是 java 原生的日志框架,使用时无需另外引用第三方的类库,相对其他的 ...

  10. k8s-生产环境部署django项目k8s-dashboard管理系统

    1. k8s-生产环境部署django项目k8s-dashboard管理系统 gitee地址: https://gitee.com/scajy/django-k8s-dashboard.git 部署架 ...