小C的第一宇宙
java—面向对象基础 1.面向对象思想 2. 类和对象 3. 封装性 4. 标准的类 5. 代码实例 java—面向对象基础 1.面向对象思想 面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每个细节。 面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的类,来帮我做事儿。 2. 类和对象 类是对一类事物的描述,是抽象的。 对象是一类事物的实例,是具体的。 类是对象的模板,对象是类的实体。 成员变量:对应事物的属性;成员方法:对应事物的行为 3. 封装性 private:间接访问private成员变量,就是定义一对儿Getter/Setter方法 this:即谁在调用,this就代表谁。 构造方法:当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值。 4. 标准的类 一个标准的类通常要拥有下面四个组成部分: 所有的成员变量都要使用private关键字修饰 为每一个成员变量编写一对儿Getter/Setter方法 编写一个无参数的构造方法 编写一个全参数的构造方法 这样标准的类也叫做Java Bean 5. 代码实例 类的创建 public class Student { //**************成员变量*************** private String name; private int age; private boolean male; //**************成员方法*************** public void study() { System.out.println("学习中..."); } public void sayHello(String name) { // this System.out.println(name + ",你好!我是" + this.name); } // 构造方法,创建对象时使用的方法,注意格式 // 可以再创建对象时执行操作 public Student() { System.out.println("无参构造方法已执行"); } public Student(String name, int age) { System.out.println("含参构造方法已执行"); this.name = name; this.age = age; } // 通过定义setter/getter方法,间接访问成员变量 // 防止不合理的数据被随意访问 public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } public void setMale(boolean male) { this.male = male; } //bool类型变量用isxxx public boolean isMale() { return male; } } 类的使用 public class StudentUse { public static void main(String[] args) { Student stu = new Student("小光", 13); stu.sayHello("小王"); stu.setAge(23); System.out.println("我现在" + stu.getAge() + "岁了。"); } } 阅读全文
CS
wangc
Jan 24, 2020
数组 定义和访问 内存原理图 基本操作 数组与方法 数组 数组概念:数组就是存储数据长度固定的容器,保证多个数据的数据类型要一致. 定义和访问 定义数组 // 默认数组内元素值为0 int[] arr = new int[3];               // 动态初始化(指定长度) int[] arr = new int[]{1,2,3,4,5};  // 静态初始化(指定内容) int[] arr = {1,2,3,4,5};               // 省略的静态初始化 // 左侧的中括号:代表是一个数组 // 右侧的new:代表创建数组的动作 *访问数组:数组名[索引] tips: 直接打印数组名称,返回的是哈希地址值 内存原理图 基本操作 public class Array { public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5 }; System.out.println("数组:"); printArray(arr); System.out.println("最大值:" + getMax(arr)); arr = reverseArray(arr); System.out.println("逆序:"); printArray(arr); } // 数组遍历输出 public static void printArray(int[] arr) { for(int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } // 找数组最大值 public static int getMax(int[] arr) { int max = 0; for(int i = 0; i < arr.length; i++) { if(max < arr[i]) { max = arr[i]; } } return max; } // 数组反转 public static int[] reverseArray(int[] arr) { for (int i = 0; i < arr.length/2; i++) { int tmp = arr[i]; arr[i] = arr[arr.length-1-i]; arr[arr.length-1-i] = tmp; } return arr; } } 数组与方法 数组作为参数 数组作为返回值,可以返回多个值 public class ArrayReturn { public static void main(String[] args) { int[] result = calculate(10, 20, 30); System.out.println("总和:" + result[0]); System.out.println("平均数:" + result[1]); } public static int[] calculate(int a, int b, int c) { int sum = a + b + c; // 总和 int avg = sum / 3; // 平均数 int[] array = { sum, avg }; return array; } } 阅读全文
CS
wangc
Jan 22, 2020
换行.///////// Java—基础语法 1. Java基本特点 2. 基本概念 JVM,JRE与JDK 数据类型 类型转换 数组 运算 3. 语法结构 4. 程序结构 方法 方法重载 Java—基础语法 1. Java基本特点 Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 应用领域:Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。 2. 基本概念 JVM,JRE与JDK JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。Java语言的跨平台特性是由JVM实现的。 JRE (Java Runtime Environment) :是Java程序的运行时环境,包含JVM 和运行时所需要的核心类库。 JDK (Java Development Kit):是Java程序开发工具包,包含JRE 和开发人员使用的工具。 数据类型 Java的数据类型分为两大类: 基本数据类型:包括整数、浮点数、字符、布尔。 引用数据类型:包括类、数组、接口。 四类八种基本数据类型: 数据类型 关键字 内存占用 取值范围 字节型 byte 1个字节 -128~127 短整型 short 2个字节 -32768~32767 整型 int(默认) 4个字节 -2的31次方~2的31次方-1 长整型 long 8个字节 -2的63次方~2的63次方-1 单精度浮点数 float 4个字节 1.4013E-45~3.4028E+38 双精度浮点数 double(默认) 2个字节 4.9E-324~1.7977E+308 字符型 char 2个字节 0-65535 布尔类型 boolean 1个字节 true,false 定义所有基本数据类型的变量,代码如下: //定义字节型变量 byte b = 100; //定义短整型变量 short s = 1000; //定义整型变量 int i = 123456; //定义长整型变量 long l = 12345678900L; //定义单精度浮点型变量 float f = 5.5F; //定义双精度浮点型变量 double d = 8.5; //定义布尔型变量 boolean bool = false; //定义字符型变量 char c = 'A'; 类型转换 自动类型转换 当运算符两边出现不一致的类型时,会自动转换成较大的类型。 byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double 强制类型转换 double a = 1.0; double b = 2,0 int i = (int)(a/b); // 强制类型转换的优先级高于四则运算 注意:浮点转成整数,直接取消小数点,可能造成数据损失精度。int 强制转成short 砍掉2个字节,可能造成数据丢失。 数组 运算 算术运算符 自增自减运算:++ 、-- + 符号在遇到字符串的时候,表示连接、拼接的含义 赋值运算符:= 比较运算符 Java语言提供6种关系运算符(> < <= >= == != ) 逻辑运算符 运算符 描述 ! 逻辑非 && 逻辑与 || 逻辑或 条件运算符(三元运算符) count = (count>20)? cout-10: count //等价于 if( cout>20 ) count = count-10; else count = count+10; 3. 语法结构 顺序结构(略) 选择结构 If语句 switch语句 //C提供了三种形式的if语句 if( flag ) { // statement } if( a != 1) { // statement 1 }else { // statement 2 } if( a ==1 ) { // statement 1 } else if( a == 2) { // statement 2 … }else { // statement n } int i; Switch( i ) { case 1: // expression 1 break; case 2: // expression 2 break; … case n: // expression n break; default: // expression n+1 break; } 循环结构 while语句 do-while语句 for语句 Break语句用于跳出循环,continue用于结束本次循环。 while( ture ) { // while语句先判断表达式后执行语句 } do{ // do-while语句先执行语句后判断表达式 } while ( true ) for( i=0; i<10; i++ ) { if( i==2 ) { continue; } if( i==4 ) { break; } } 4. 程序结构 我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。 方法 main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。 public static void main(String[] args) {     //调用定义的方法method     method(); } //定义方法,被main方法调用 public static void method() {     System.out.println("自己定义的方法,需要被main调用运行"); } 方法重载 方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。 参数列表:个数不同,数据类型不同,顺序不同。 重载方法调用:JVM通过方法的参数列表,调用不同的方法。 public class MethodOverload { public static void main(String[] args) { myPrint(100); myPrint("Hello"); } // 方法重载 // 模拟输出语句中的println 方法效果,传递什么类型的数据就输出什么类型的数据 public static void myPrint(byte num){System.out.println(num);} public static void myPrint(short num){System.out.println(num);} public static void myPrint(int num){System.out.println(num);} public static void myPrint(long num){System.out.println(num);} public static void myPrint(float num){System.out.println(num);} public static void myPrint(double num){System.out.println(num);} public static void myPrint(char c){System.out.println(c);} public static void myPrint(boolean is){System.out.println(is);} public static void myPrint(String str){System.out.println(str);} } 阅读全文
CS
wangc
Jan 21, 2020
前言 第一次安装TF就折腾了好久,如今一年过后,换了电脑,再次安装TF,以前成功安装的使用那个教程网址还保存有,以为会容易些,没想到一折腾就是整整两天……差点放弃,打开万能的淘宝准备寻求人工帮助,没想到报价为110¥……于是一咬牙,第三天终于安装好了。(:з」∠) 阅读全文
AI
wangc
Feb 3, 2019

标准库 string 类型

标准库 string 类型 作用:满足对字符串的一般应用。 #include using std::vecter; 阅读全文
CS
wangc
Jan 18, 2019

1/24