一带而过-Java与生活

认识Java

0-0 前言

课程基础: C语言教程(全网最具有比喻形象的)-Frank-FuckPPT

  • 学Java前需要学C,至少学到结构体,C语言课程是基础

  • 指针、算法、数据结构不好也没关系,师父领进门,修行靠个人

1-1 Java是怎么执行的?说好的exe呢?

对比Java与C构建模式

JAVAC
java执行时会生成.class文件C执行的时候会生成.exe文件(win)
java要运行必须有jdk、jre和jvmC执行的时候不需要这些文件
java.class跨平台效果好C.exe跨平台效果不好(win)
  • jdk(Java Development Kit): java程序开发工具包
  • jre(Java runtime environment): java运行环境
  • jvm(Java Virtual Machine): java虚拟机

1-2 package

Java package 如同文件夹一样,工程文件主要分为ideaoutsrcweb四个大包

1.idea文件夹

  • .idea存放项目的配置信息,包括历史记录,版本控制信息等

2.iml文件夹

  • iml(infomation of module)是IntelliJ IDEA 自动创建的模块文件

  • 用于Java应用开发,存储一些模块开发相关的信息,还可能会存储一 些模块路径信息, 依赖信息以及别的一些设置

3.src文件夹

  • source,存放的是项目的源文件(.java后缀与配置文件)

  • 分成几个包的目的:对代码的优化、实现高聚合、低耦合特点、便于以后的扩展和更改

4.External Libraries

  • Java外部库

5.Scratches and Consoles

  • Intellij IDEA 提供了两种临时的文件编辑环境,两种 Scratches 分别是Scratch filesScratch buffers

Scratch files :Scratch files 有着完整的运行和 debug 功能等等,这些文件需要指定编程语言类型并且指定后缀。
Scratch buffers : Scratch buffers仅仅是为了简单的编辑记录,所以不需要指定编程语言并且指定后缀,默认文件类型是 .txt。需要注意的是,Scratch buffers最多只能创建 5 个,超过 5 个将开始重用以前的,并且以前文件的内容会被重置。

6.项目视图
默认是将package层级以简洁显示的,非精简模式
在这里插入图片描述
packages单击右键,点击Compact Middle Packages即可切换成精简模式
在这里插入图片描述
在这里插入图片描述

1-3 第一个程序的讲解

package com.microsoft.demo; //定位你的Java代码放在src文件夹下的位置

//公共的  类   类名(开头字母必须大写和文件名相同)
public class Main{ 
    
    //mian函数的固定格式
    public static void main(String[] args){
        
        //语句
        System.out.println("Hello");
    }
    
    //java函数
    public static int sum(int number_a,int number_b){
        return number_a+number_
    }
    //函数的调用和C是一样的
}

ctrl+alt+v 在调用函数的时候自动生成变量

.soutv 打印最靠近的变量,也可以是你自己选定的变量

参考: IDEA——JAVA的快捷语法

1-4 注释和文档

1.基本注释

  • 和C语言一样有单行注释和段落注释
  • 单行注释 // ……
  • 多行注释 /* ...... */ 注释内容不会出现在javadoc 生成的文档中

2.方法注释和类注释

  • 即文档注释 : /** ...... */ 注释内容写入javadoc生成的文档
  • 注释格式/** ...... */里面的内容有介绍函数,还有方法中用到的参数和返回值
  • 这个可以快速生成一个方法文档(想要生成文档可以在快捷键里查doc)
  • IntelliJ IDEA 里查看一个函数注释的方法是 ctrl+q

2-0 一带而过

参考:

2-1 字符串演示

C语言如何定义字符串?

char data[3] = {'a', 'b', 'c'};
char data[] = {'a', 'b', 'c', '\0'};
char data[] = "abc";

Java如何定义字符串?

String s1 = "Hello World!";                 
String s2 = new String("Hello World!");
  • String是java中定义字符串的类,方便快捷,使用面向对象的方式还有很多骚操作
  • 获取字符串长度:字符串名.length()
  • 使用.concat()连接字符串
  • 使用+连接字符串

2-2 字符串结束符的那些事儿

C语言种的字符串是怎样的?

  • C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串
  • 字符串本质上就是以'\0'作为结尾的特殊字符数组
  • 因此当把一个字符串存入一个数组时,也把结束符 '\0'存入数组,并以此作为该字符串是否结束的标志

为什么Java里没有/0?

  • 严格控制字符串,防止内存泄漏
  • 这是Java为了保护程序以及开发者友好,强制并自动为我们加了'\0'

2-3 自动类型那些事儿

自动类型转换

  • 整型、实型(常量)、字符型数据可以混合运算
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算
  • 小品《主角与配角》象征性代表了int取代char的地位
------------------------------------>byte,short,char> int> long> float> double 

2-4 import导包和API文档

  • import和C中的#include一样,导入一些自带的方法

  • 有一些包中的函数是不需要导入的,使用同一个package下的包不需要import

  • java.lang.*是java默认自带的

2-5 Java中的数组

对比C和Java静态数组定义方式

定义方式JavaC
初始化法int[ ] arr ={1,2,3}int arr [] = {1,2,3}
分配空间法Type[] arr=new Type[size]int arr[size]

普通的静态数组有缺陷:长度是固定的,不能扩容,没有灵活性

注意: String的length带括号,数组里的length不带括号

str.length();
arr.length;

增强for循环

for (int i: arr_2) {
     System.out.println(arr_2[i]);
}
for(double element:myList){
	System.out.println(element);
}

2-6-1 Arrays第一讲

提供方法对数组进行操作,练习以后记录笔记

例如:排序sort()

int[] arr_1 = {1, 2, 3, 6, 7, 8,111,1111,112,1235,123};
        Arrays.sort(arr_1);
        for (int element:arr_1) {
            System.out.print(element + " ");
        }

2-6-2 Arrays第二讲

例如:二分查找 Arrays.binarySearch(arr_1,6)

		int result_index = Arrays.binarySearch(arr_1,6);
        System.out.println("result_index = " + result_index);

相同顺序下,数组是否相等Arrays.equals(arr_1, arr_2)

 		int[] arr_1 = {1,2,3};
        int[] arr_2 = {1,2,3};
        boolean b = Arrays.equals(arr_1, arr_2);
        System.out.println("b = " + b);

2-7-1 函数和方法

什么是方法?

  • Java方法是语句的集合,它们在一起执行一个功能
  • 方法和C里的函数是一模一样的

参考:

2-7-2 方法的重载

方法名相同,参数个数或者参数类型不同

package com.microsoft.demo;
import java.util.Arrays;
public class main {
    public static void main(String[] args) {
        int sum = sum(1, 2);
        double value = sum(1.2 , 3.4);
        System.out.println("sum = " + sum);
        System.out.println("value = " + value);
    }
    public static int sum (int x, int y){
        return x + y;
    }
    public static double sum ( double x, double y){
        return x + y;
    }
}

2-8-1 规范约束第一讲

详见:阿里巴巴Java开发手册-alibaba/p3c

2-8-2 规范第二课

2-8-3 规范约束第三讲

  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yeats_Liao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值