Рубрики
Без рубрики

Для цикла на разных языках программирования

Программирование часто включает в себя работу над избыточными задачами. Циклы for помогают сократить код и сократить… Помечено как learn, javascript, java, цикл.

Программирование часто включает в себя работу над избыточными задачами. Циклы для помогают сократить код и сократить количество утомительных задач. Но способ использования для может быть разным для разных языков. Цель этого поста – предоставить некоторые примеры циклов для для Java, Javascript и PHP, работающих со строками, массивами и объектами.

Ява

String str = "hello";
for (int i=0; i < str.length(); i++){
    System.out.print(str.charAt(i));
}
//another less optimal solution is to convert the str into an char array
//using str.toCharArray();
//see loop an Array section in Java below

Примечание: length() и charAt(индекс) являются методами класса объектов String.

язык JavaScript

var str = "hello";
for (var i=0; i < str.length; i++){
    console.log(str.charAt(i));
}

Примечание: В JavaScript мы можем объявить строку двумя способами:

var str1 = 'primitive';  //datatype is primitive: string
var str2 = new String('string object');  //string as object

Поскольку примитив не имеет методов и свойств, str1 был автоматически преобразован в строку класса-оболочки (как в s2). Затем str1 становится строковым объектом с length в качестве свойства и charAt в качестве метода и так далее.

Это не так просто, как Java, и Javascript зацикливает строку. Один из способов – преобразовать строку в массив, затем мы можем зациклить этот массив. Другой способ использовать вспомогательный метод substr() для получения каждого символа строки.

//method 1: use for loop
for($i=0; $i < count($array); $i++){
    echo $array[$i];
}

//method 2: convert a string to an array first, then we can loop the array
//use str_split() function to split a string by character
$str = "hello";
$array = str_split($str);  //split by character into an array
foreach($array as $value){
    echo $value;
}


Ява

int[] nums = new int[5];
for (int i=0; i < nums.length; i++){
    nums[i] = i; }
    System.out.print(Arrays.toString(nums)); //[0, 1, 2, 3, 4]
    //or use for (:) as for each loop
for(int i : nums){
    System.out.print(i);  //01234
}
//you may compare for(:) loop with foreach loop in PHP and other language.

Примечание: Массив – это объект-контейнер с фиксированным размером. Длина массива устанавливается при создании массива. Массив имеет свойство длины вместо метода длины в объекте. Фактически, длина является общедоступным конечным полем массива. Подробнее читайте здесь, Глава 10. Массивы ( http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html#jls-10.7 )

Язык JavaScript

var nums = ["hi", "hello", "you"];
//sequential loop
for (var i=0; i < nums.length; i++){
    console.log(num[i]));   //hihelloyou
}

Примечание: в javascript есть еще один цикл for-in, который обычно используется в цикле объектов Javascript.

var obj = {  "a": 1,  "b": 2,  "c": 3};
for (var prop in obj) { 
  if (obj.hasOwnProperty(prop)) {
// or if (Object.prototype.hasOwnProperty.call(obj,prop)) for safety..
     alert("prop: " + prop + " value: " + obj[prop])  }
}

Подробнее: Цикл по массиву в JavaScript ( http://stackoverflow.com/questions/3010840/loop-through-array-in-javascript )

Ява

В Java для зацикливания массива объектов мы можем использовать последовательный цикл или итератор или цикл for (:) ##

ArrayList list = new ArrayList();
list.add("a");
list.add("b");
Iterator itr = list.iterator();
while(itr.hasNext()){
    //do something with itr.next();
    //for example itr.remove();
}
//using foreach loop
for( String s : list){
    //do something with s
    // s is local String variable
    //modify s does not modify the list
}

PHP

В PHP для создания цикла объекта используйте цикл foreach, как в массиве.

foreach ($objects as $obj){
    echo $obj->property;
}
//or below
foreach ($obj as $key => $value) {
    echo "$key => $value\n";
}

Ссылки В чем разница между строковыми литералами и строковыми объектами в JavaScript? ( http://stackoverflow.com/questions/17256182/what-is-the-difference-between-string-literals-and-string-objects-in-javascript )

str_split – Инструкция ( http://us.php.net/str_split ) Массивы (Учебные пособия по Java ™ > Изучение языка Java> Основы языка) ( https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html )

Оригинал: “https://dev.to/rattanakchea/for-loop-for-different-programming-languages-bgb”