第一个程序 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. 11:(1055, "'bbs02.app01_category.name' isn't in GROUP BY")

    后台报错:[err] 1055 --  'xxx' isn't in GROUP BY 解决方案: 初步判断是数据库(版本?配置?)的问题 进入mysql 的my.ini配置文件 ctrl+f 搜索找 ...

  2. 把axios获取到的数据渲染到列表上,使用better-scroll实现列表左右滑动

    问题:axios数据请求完后,页面是有数据的,即页面看到有数据,但是better-scroll却无法滚动 原因:这是因为在数据更新前,better-scroll已经渲染完成了 解决方法:这是个异步问题 ...

  3. 树上染色+可怜与超市(树状DP)

    这两道题是学长精心准备的,想了很长时间,比较经典. 第一题 树上染色 有一棵点数为 N的树,树边有边权.给你一个在 0∼N之内的正整数 K,你要在这棵树中选择 K 个点,将其染成黑色,并将其他的 N− ...

  4. Linux操作系统(一)

    计算机本身就是一堆硬件,这些硬件中最核心的就是CPU(运算器,控制器) 和存储器设备. 为了能够实现计算机获取数据,数据的输入输出等等需要输入设备和输出设备. 计算机体系内部:主要是通过桥接接入当前系 ...

  5. mturoute 最大传输单元路由检测Host

    mturoute检测mtu字符 下载地址:https://www.elifulkerson.com/projects/mturoute.php mturoute.exe                ...

  6. Android系统编程入门系列之清单文件

    在上一篇文章中已经提到,Android系统加载应用程序之后,首先会读取该应用程序的AndroidManifest.xml清单文件,之后根据该清单文件加载后边的东西.所以要开发应用程序,自然要先知道清单 ...

  7. Linux常用命令详解上

    Linux常用命令详解上 目录 一.shell 二.Linux命令 2.1.内部命令与外部命令的区别 2.2.Linux命令行的格式 2.3.编辑Linux命令行的辅助操作 2.4.获得命令帮助的方法 ...

  8. WEB安全新玩法 [6] 防范图形验证码重复使用

    在完成关键业务操作时,要求用户输入图形验证码是防范自动化攻击的一种措施.为安全起见,即使针对同一用户,在重新输入信息时也应该更新图形验证码.iFlow 业务安全加固平台可以加强这方面的处理. 某网站系 ...

  9. mysql主节点down机后如何恢复操作

    1 停机维护 (1) 先停止上层应用 (2) 检查backup和slave的中继日志是否已经完成了回放及gtid_executed保持一致 mysql> show slave status\G; ...

  10. 105、如何使用u盘制做linux镜像

    105.1. 105.2. 105.3. 105.4.